Skip to content

Commit

Permalink
Import Geant4 10.5.1 source tree
Browse files Browse the repository at this point in the history
  • Loading branch information
gcosmo committed Apr 17, 2019
1 parent db49709 commit 68181b7
Show file tree
Hide file tree
Showing 662 changed files with 55,088 additions and 106,267 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX
project(Geant4)
set(${PROJECT_NAME}_VERSION_MAJOR 10)
set(${PROJECT_NAME}_VERSION_MINOR 5)
set(${PROJECT_NAME}_VERSION_PATCH 0)
set(${PROJECT_NAME}_VERSION_PATCH 1)
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
Expand Down
18 changes: 16 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,16 @@
The Geant4 Collaboration:
http://cern.ch/geant4/collaboration/members
Contributing to Geant4
=====
To contribute patches to Geant4, users can submit Pull Requests (PR) such that:

- A single PR refers to a single particular topic (fix or suggested enhancement);
PRs including uncorrelated changes in codes in different areas or modules will
not be considered.

A PR will be examined by a responsible and eventually extracted for a patch in
the development repository of Geant4, to be included in a future release or
patch.

For simple bug-fixes, it is anyhow recommended to use the official
`Bugzilla problem reporting system <https://bugzilla-geant4.kek.jp/>`.

The Geant4 Collaboration
3 changes: 3 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
=====
Geant4: A Simulation Toolkit
=====
318 changes: 318 additions & 0 deletions ReleaseNotes/Patch4.10.5-1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,318 @@

Geant4 10.5 - patch-01 Release Notes
------------------------------------

17 April 2019

List of fixes included in this public patch since the public release 10.5:

o Configuration:
-------------
+ CMake:
o Added configuration GEANT4_USE_SMARTSTACK to enable use of smart-stack
algorithm for default stack in G4TrackStack.

o Analysis:
--------
+ Fixed few typos in printouts.

o Digits_Hits:
-----------
+ Define unit categories in messengers for UI commands that take units.
+ G4SDManager, G4VSDFilter: cleanly delete all the G4VSDFilter objects at
the end of program.
+ Fixed return type of Boolean operators.
+ Fixed shadowing compilation warning in G4ScoringBox and G4ScoringCylinder.
+ Fixed few typos in printouts.

o Event:
-----
+ G4PrimaryTransformer: allowing absolute zero proper decay time.
+ G4HEPEvtInterface: clean up G4Exception severities when end-of-file
is detected.
+ Fixed return type of Boolean operators.
+ Fixed typos in printouts in G4GeneralParticleSourceMessenger.

o G3toG4:
------
+ Fixed return type of Boolean operators.
+ Fixed shadowing compilation warning in G3toG4MakeSolid.

o Geometry:
--------
+ Fixed return type of Boolean operators.
+ magneticfield
o Corrected transformation to local system in G4QuadrupoleMagField.
o Corrected 'RegularStepperName' in G4ChordFinder to refer to the actual
default stepper G4DormandPrince745 rather than G4NystromRK4.
+ management:
o Use reverse_iterator in G4SolidStore::DeRegister() in order to speedup
partial deregistration on setups with many solids instances.
o G4Region: added possibility to disable search in the tree in
AddRootLogicalVolume() for speeding up process in complex flat
geometries.
o G4LogicalVolume: in AddDaughter() avoid propagating pointer to
field-manager if this is null. Addressing problem report #2145.
+ navigation:
o Protected report for looping particles under verbosity flag in
G4PropagatorInField::ComputeStep().
o Fixed few typos in printouts in G4NavigationLogger.
+ solids/specific:
o Disabled precise computation of extent and use simple bounding-box in
CalculateExtent() for G4Tet and G4TessellatedSolid, to speed up
intialisation in setups with relatively complex meshes.
Apply bounding-box calculation for extent also for the corresponding
VecGeom wrappers.
o Revised algorithms and improved robustness in G4EllipticalTube.
o Accurate calculation of radical in G4IntersectingCone.
Addressing problem report #2111.
+ volumes:
o Correction in G4AssemblyVolume destructor to avoid deletion of internal
physical volumes, as cleanup is taken care by G4PhysicalVolumeStore.
Addressing problem report #2140.

o Global:
------
+ Enable FPE detection on MacOS with clang. Addressing problem report #2147.
+ Fixed return type of Boolean operators.
+ Updated date and version for 10.5.p01.

o Graphics Representations:
------------------------
+ Fixed return type of Boolean operators in G4TypeKey.

o Intercoms:
---------
+ G4UIcommand: fixed misbehavior in RangeCheck() method, when string-type
parameter comes prior to numeric-type parameters in commands.
+ Added G4UIparameter::SetDefaultUnit() method to simplify the definition
of a unit parameter.
+ Fixed return type of Boolean operators.
+ Fixed few typos in printouts.

o Materials
---------
+ G4NistMaterialBuilder: fixed atomic number value in simple material
printout. Fixed build of gas materials.
Addressing problem reports #2133 and #2134.
+ G4NistManager: added more detailed comments to public methods.
+ Fixed return type of Boolean operators.

o Parameterisations - gflash
--------------------------
+ Fixed return type of Boolean operators in G4VGFlashSensitiveDetector.

o Particles
---------
+ G4PrimaryParticle: allowing absolute zero proper decay time.
+ Fixed return type of Boolean operators.
+ Fixed typo in printout in G4NuclideTableMessenger.

o Persistency
-----------
+ ascii:
o Fixed shadowing compilation warnings.
+ gdml:
o Fix in G4GDMLReadStructure::PhysvolRead() to allow correct import of
recursive assembly structures. Addressing problem report #2141.
o Added protection to G4GDMLParser for dumping geometry only through
the master thread. Added extra protection also in reading.
Addressing problem report #2156.
o Fixed export of optical surface properties.
Addressing problem reports #2142 and 2143.

o Physics Lists
-------------
+ constructors/electromagnetic:
o G4OpticalPhysics, G4OpticalPhysicsMessenger: put all UI commands into
a messenger class; addressing problem report #2085; deprecated commands
with /default/ in command string.
o G4EmModelActivator: addressing problem report #2106.
Fixed compilation warning on clang.
o G4EmLivermorePhysics, G4EmPenelopePhysics: set multiple-scattering
configuration the same as in Opt4: RangeFactor=0.08, Skin=3,
UserSafetyPlus on.
o G4EmStandardPhysicsWVI: use G4eplusTo2GammaOKVIModel with 3-gamma
annihilation for e+.
o G4EmStandardPhysics_option4: changed RangeFactor to 0.08 to improve
results from fanoCavity test.
+ constructors/hadron_elastic:
o G4HadronElasticPhysics: for deuteron, triton and alpha, use
Glauber-Gribov elastic cross-sections (instead of Gheisha ones,
which returns zero).
+ lists:
o Shielding, QGSP_BIC_HP, QGSP_BIC_AllHP: set cut for proton to zero.
Addressing problem report #2150.
o Minor code clean-up.

o Processes - Electromagnetic:
---------------------------
+ adjoint:
o Fixed typos in printouts and comments.
+ high energy:
o G4mplIonisation, G4mplIonisationWithDeltaModel: added low limit for
delta-electron production threshold. Addressing problem report #2126.
o G4GammaConversionToMuons: fixed low-energy part of the model by adding
intermediate limit of 5*MuMass, below which an approximation of the
cross-section similar to the Bethe-Heitler model is used; fixed bug
in energy sampling for low-energy.
+ low energy:
o Fixed 'dsigma' calculation in G4PhotoElectricAngularGeneratorPolarized.
Addressing problem report #2089.
o Fixed return type of Boolean operators.
+ muons:
o G4MuMultipleSacttering: reduced length of printout.
Addressing problem report #2105.
+ standard:
o G4IonCoulombScatteringModel, G4eCoulombScatteringModel,
G4eSingleCoulombScatteringModel, G4hCoulombScatteringModel: fixed
precision loss for scattering with very small kinetic energy.
Addressing problem report #2152.
o G4eMultipleSacttering, G4hMultipleScattering: reduced length of
printouts. Addressing problem report #2105.
o G4eplusTo2GammaOKVIModel: fixed crash at initialisation.
o G4ModifiedTsai, G4SauterGavrilaAngularDistribution: reduced length of
names for these generators. Addressing problem report #2105.
o Code clean-up in G4BetheBlochModel.
+ utils:
o G4EmBiasingManager, G4VEmProcess, G4VEnergyLossProcess: fixed weights
for biasing. Should be like version 10.4 now for range cut, splitting,
roulette.
o G4EmBiasingManager: fixed incorrect weights with brem splitting
introduced in release 10.5. Addressing problem report #2125.
o G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering,
G4EmModelManager: make info printout at initialisation more compact.
Addressing problem report #2105.
o G4VEmProcess, G4VEnergyLossProcess: make printout information more
compact.
o G4EmParametersMessenger: defining unit categories for UI commands
that take units. Fixed typos in printouts
+ xrays:
o G4Cerenkov: increase protection against infinite loops.

o Processes - Generic:
-------------------
+ biasing:
o Fixed typos in printouts and comments.
+ cuts:
o Fixed return type of Boolean operators.
o Fixed typos in printouts in G4PhysicsTableHelper and
G4ProductionCutsTable.
+ decay:
o G4Decay, G4UnknownDecay: allowing absolute zero proper decay time.
+ solidstate/channeling:
o Fixed printouts and comments.

o Processes - Hadronic:
--------------------
+ cross_sections:
o G4ChipsNeutronElasticXS: fixed compilation warnings on clang.
+ models/de_excitation:
o G4PhotonEvaporation: for nuclear levels without decay modes defined
perform decay not to the ground state but to the nearest level.
Addressing problem report #2123.
o G4LevelReader: fixed typo. Addressing problem report #2124.
o G4LevelManager, G4NucLevel: fixed debug and warning printouts.
+ models/fission:
o G4SmpIsoDir: removed use of G4Pow for squaring, sometimes causing crash.
+ models/inclxx:
o G4INCLHFB: fixed (weak and strong) event non-reproducibility by making
the arrays 'radiusP, radiusN, diffusenessP, diffusenessN' thread-local.
o Fixed return type of Boolean operators.
+ models/particle_hp:
o Fix to make sure production cross-section is not ignored when sampling
discrete gamma emission. Addressing problem report #1824.
o G4ParticleHPKallbachMannSyst::Kallbach: replaced G4Exp with std::exp in
order to avoid underflow/overflow crashes observed with the physics list
QGSP_BIC_AllHP.
+ models/parton_string/diffraction:
o G4FTFModel: fixed a memory leak in G4FTFModel::GetStrings().
Addressing problem report #2138.
o Corrected FTF_NUCDESTR_P1_ADEP_TGT parameter that was accidentally
set as "fixed". Minor cleanups.
o Fixed return type of Boolean operators.
+ models/parton_string/qgsm:
o G4QGSParticipants: bug-fix in computation of the transverse mass in
DeterminePartonMomenta() method.
o Fixed return type of Boolean operators.

o Processes - Management:
----------------------
o Fixed typos in printouts in G4ProcessTableMessenger, G4ProcessManager
and G4VRest*Process.
o Fixed return type of Boolean operators.

o Readout:
-------
o Fixed return type of Boolean operators.

o Run:
---
o Fix in G4MultiRunAction to cope with more than one user run action
classes.
o G4UserPhysicsListMessenger.cc: defining unit categories for UI commands
that take units.
o Fixed return type of Boolean operators.
o Fixed typos in printouts.

o Tracking:
--------
o Fixed return type of Boolean operators.
o Fixed typos in printouts and comments.

o Visualization:
-------------
o Fix to pick up default number of line-segments-per-circle from
G4Polyhedron in G4ViewParameters.


o Examples:
--------
+ Fixed return type of Boolean operators.
+ advanced/ChargeExchangeMC
o Fixed compilation warnings for unused data when no analysis set.
o Fixed regular expression error in schema validation for lht.gdml.
+ advanced/doiPET
o Fixed compilation warnings on clang for unused data members in
doiPETDetectorConstruction and doiPETEventAction classes.
+ basic/B4
o Corrected name of include file: csv.hh.
+ extended/electromagnetic/TestEm8
o DetectorConstruction: added alternative materials in order to test all
methods to construct new material with G4NistMaterialBuilder.
Addressing problem reports #2133 and #2134.
+ extended/exoticphysics/monopole
o Avoid instantiation of the vis-manager in the main() in the batch mode;
set default number of threads to 1.
o Run, RunAction: extended histograms and printouts to restricted dEdx
and delta-electron cross-section (addressing problem report #2126).
o G4MonopolePhysics: minor code clean-up.
+ extended/hadronic/Hadr02
o Fixed bug in the energe range of the transition between FTFP and BERT.
+ extended/medical/dna/chem1-5
o Fixed PhysicsList.
+ extended/medical/dna/dnaphysics
o Updated README.
+ extended/persistency/gdml/G01
o Migrated example to multi-threading, to test MT in reading/writing.
+ extended/persistency/P03
o Fixed compilation warnings on unused local iterators.
+ extended/runAndEvent/RE05
o Reduced the number of events in pythia_event.data to make it smaller
than 2 MB. Number of events executed by the macro exampleRE05.in is
also reduced accordingly.

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

Technical Notes
---------------

o This patch should be applied on top of release 10.5.
o Technical notes distributed for release 10.5 are also applicable and
valid for this patch.

The code and rebuilt binary libraries for release 10.5.p01 are available
through our "Download" Web page.

Please refer to the Geant4 User Documentation for further information about
using Geant4.
5 changes: 5 additions & 0 deletions cmake/History
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ add this in the documentation for the changed file as [BUGFIX #BUGNUMBER].

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

21st December 2018 - Makoto Asai (cmake-V10-04-28)
- Modules/Geant4OptionalComponents.cmake:
- Template/Geant4Config.cmake.in:
Add GEANT4_USE_SMARTSTACK

5th November 2018 - Gunter Folger (cmake-V10-04-27)
- Switch to G4PARTICLEXS 1.1

Expand Down
21 changes: 21 additions & 0 deletions cmake/Modules/Geant4OptionalComponents.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,26 @@ endif()

GEANT4_ADD_FEATURE(GEANT4_USE_GDML "Building Geant4 with GDML support")

#-----------------------------------------------------------------------
# Optional use of smart stack
# With this option, G4StackManager uses G4SmartTrackStack instead of
# ordinary G4TrackStack as the Urgent stack. G4SmartTrackStack tries to
# stick to the same kind of particle as the previous track when Pop()
# is called. This G4SmartTrackStack may provide some performance
# improvements in particular for crystal calorimeters in high energy
# physics experiments. On the other hand, G4SmartTrackStack won't give
# any benefit for granular geometry or lower energy applications, while
# it may causes some visible memory footprint increase.

option(GEANT4_USE_SMARTSTACK "Use smart track stack" OFF)
mark_as_advanced(GEANT4_USE_SMARTSTACK)

if(GEANT4_USE_SMARTSTACK)
add_definitions(-DG4_USESMARTSTACK)
endif()

GEANT4_ADD_FEATURE(GEANT4_USE_SMARTSTACK "Use smart track stack")

#-----------------------------------------------------------------------
# Optional Support for TiMemory -- cross-language timing and memory
# easily installed via:
Expand All @@ -208,6 +228,7 @@ endif()
option(GEANT4_USE_TIMEMORY "Build Geant4 with TiMemory support"
${_default_use_timemory}
)
mark_as_advanced(GEANT4_USE_TIMEMORY)

if(GEANT4_USE_TIMEMORY)
find_package(TiMemory REQUIRED)
Expand Down
Loading

0 comments on commit 68181b7

Please sign in to comment.