Skip to content

Commit

Permalink
Import Geant4 10.4.1 source tree
Browse files Browse the repository at this point in the history
  • Loading branch information
gcosmo committed Mar 2, 2018
1 parent fc6af9e commit cb38379
Show file tree
Hide file tree
Showing 341 changed files with 18,369 additions and 24,502 deletions.
4 changes: 2 additions & 2 deletions CMakeLists.txt
Expand Up @@ -3,7 +3,7 @@
#
# 21st September 2010 Ben Morgan
#
# $Id: CMakeLists.txt 104643 2017-06-08 14:43:49Z gcosmo $
# $Id: CMakeLists.txt 108564 2018-02-16 10:19:00Z gcosmo $
#

#-----------------------------------------------------------------------
Expand Down Expand Up @@ -38,7 +38,7 @@ set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX
project(Geant4)
set(${PROJECT_NAME}_VERSION_MAJOR 10)
set(${PROJECT_NAME}_VERSION_MINOR 4)
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
237 changes: 237 additions & 0 deletions ReleaseNotes/Patch4.10.4-1.txt
@@ -0,0 +1,237 @@

Geant4 10.4 - patch-01 Release Notes
------------------------------------

28 February 2018

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

o Configuration:
-------------
+ CMake:
o Added c++17 to C++ standards against which Geant4 can be compiled,
as experimental build. Will require a minimum CMake version 3.8 to
enable, but this is not checked.
o Updated URL for downloads to use dedicated server alias.
+ GNUMake:
o Disabled obsolete linker flag for static libraries in Darwing-clang.gmk.

o Analysis:
--------
+ Fixed self-consistency in headers (missing #include) in
G4BaseAnalysisManager and G4PlotManager.

o Digits-Hits:
-----------
+ G4ScoringMessenger, G4ScoreQuantityMessenger: UI command returns an error
message if a command is refused due to incorrect parameter(s).

o Error Propagation:
-----------------
+ Fixed self-consistency in headers (missing #include) in G4ErrorMatrix,
G4ErrorRunManagerHelper and G4ErrorSymMatrix.

o Event:
-----
+ G4GeneralParticleSourceMessenger, G4ParticleGunMessenger: UI command
returns an error message if a command is refused due to incorrect
parameter(s).
+ Added deprecation warning for '/gun/ionL' UI command.
+ Fixed self-consistency in G4SPSRandomGenerator header (missing #include).

o Externals:
---------
+ CLHEP: in MixMaxRng::modadd(), fixed guard for assembly code to protect
builds on 32-bit systems.

o Geometry:
--------
+ management:
o Fixed self-consistency in G4VVolumeMaterialScanner header (missing
#include).
+ navigation:
o Fix for momentum value in G4PathFinder::SetChargeMomentumMass();
where magnitude square was passed instead of magnitude.
Addressing problem report #2037.
+ solids/CSG:
o Fixed typo in G4Trd::GetPointOnSurface() for the area settings.
o Correction in G4UPara wrapper in ComputeDimensions() to add explicit
cast for the solid type to parameterise.
+ solids/specific:
o Added missing initialisation of two data-members in copy-ctor and
assignment operator of G4ExtrudedSolid. Addressing problem report #2016.
Removed redundant data initialistion in G4ExtrudedSolid constructors.

o Global:
------
+ G4MTcoutDestination blocks G4cout from worker threads while application
is in G4State_Init instead of G4State_Idle.
+ Added SetVerbosity() method in G4StateManager and notify state change.
+ Fixed self-consistency in G4ReferenceCountedHandle header (missing
#include). Added missing #ifdef guard in G4CacheDetails header; code
formatting.
+ Updated date and version for 10.4.p01.

o Intercoms:
---------
+ G4UIcommand, G4UImanager: additional implementation for adding a
mechanism of carrying back error message from the messenger if a command
is rejected due to the target class or the messenger.

o Interfaces:
----------
+ G4UIQt: fix to remove parameters from popup in Qt interface when
autocompleting command line. Take into account of '\n' character for
command guidance in help tree.

o Materials:
---------
+ Re-enable user-defined material properties in G4MaterialPropertiesTable
and G4MaterialPropertiesIndex. Addressing problem report #2030.
+ G4OpticalSurface: moved static methods to source.
+ Fixed self-consistency in headers (missing #include) in G4ElementTable
and G4MaterialTable.

o Parameterisations - gflash
--------------------------
+ Fixed self-consistency in GVFlashHomoShowerTuning header (missing
#include).

o Persistency - gdml
------------------
+ Updates to G4GDMLWriteSolids and G4GDMLWriteMaterials for changes in
G4Material[Const]PropertiesTable for addressing problem report #2030.
+ Fixed self-consistency in G4GDMLAuxStructType header (missing #include).

o Processes - Electromagnetic:
---------------------------
+ dna:
o G4DNAMolecularMaterial: allow GetDensityTableFor() and
GetNumMolPerVolTableFor() methods to be accepted at G4State_Init
rather than G4State_Idle.
o Fixed self-consistency in headers (missing #include) in G4IosFlagsSaver,
G4KDNode, G4MoleculeIterator and G4LEPTSDiffXS. Fixed spurious
definition of G4IT namespace in G4ITMultiNavigator header.
+ lowenergy:
o Fixed self-consistency in G4ecpssrFormFactorMixsModel header
(missing #include).
+ polarisation:
o G4StokesVector: moved static inline method to the source.
+ standard:
o G4PairProductionRelModel: fixed misuse of G4Pow (A13(..) should be used
instead of Z13(..)); added initialisation of an element cache before
sampling of final state. Partially addressing problem report #2017.
+ utils:
o G4EmParametersMessenger: use G4Exception for warnings instead of G4cout,
review G4State for UI commands and signal the RunManager about
modification of physics if a command is issued in Idle state.
o G4EmParameters, G4VEmProcess, G4VEnergyLossProcess: define the same
default values for few internal members.
o G4EmParameters, G4EmParametersMessenger: fixed printout format and
added lock and protection in commands defining physics per region.
+ xrays:
o G4VXTRenergyLoss: extended XTR angle limit up to 250/gamma,
on ATLAS request.
o Moved few static and virtual methods from inline to source.
Code cleanup.
o Fixed self-consistency in G4VTRModel header (missing #include).

o Processes - Generic:
-------------------
+ biasing:
o G4ImportanceConfigurator: introduced mutex to protect instantiation
of the biasing process against a thread-race in MT mode and clearing
data in destructor. Addressing problem report #1945.
+ management:
o G4ProcessManager: added method GetProcess(name) to return a pointer to
a process from its name.
o The following UI commands are now forbidden for 'G4State_GeomClosed' or
'G4State_EventProc' application states:
- /process/activate
- /process/inactivate
- /particle/process/activate
- /particle/process/inactivate
o G4ProcessManagerMessenger, G4ProcessTableMessenger: UI command returns
an error message if a command is refused due to incorrect parameter(s).
+ parameterisation:
o Fixed self-consistency in G4FastSimulationVector heade
(missing #include).

o Processes - Hadronic:
--------------------
+ models/cascade:
o G4NucleiModel: replaced use of obsolete std::bind2nd with std::bind.
+ models/de_excitation:
o Fixed self-consistency in G4ChatterjeeCrossSection header (missing
#include). Fixed #ifdef guard in G4StatMFMacroBiNucleon header.
+ models/fission:
o Fixed self-consistency in G4LLNLFission header (missing #include).
Added missing #ifdef guards in G4fissionEvent header.
+ models/im_r_matrix:
o Fixed self-consistency in headers (missing #include) in
G4CrossSectionBuffer, G4DeltaNstarBuilder and G4NNstarBuilder.
+ models/particle_hp:
o Fixed self-consistency in headers (missing #include) in
G4FFGEnumerations, G4FPYNubarValues, G4ParticleHPAngularP and
G4ParticleHPHash.
+ models/parton_string/management:
o Fixed self-consistency in G4VertexCode header (missing #include).
+ models/parton_string/qgsm:
o Fixed self-consistency in G4SPPartonInfo header (missing #include).
+ models/radioactive_decay:
o G4RadioactiveDecay, G4RadioactiveDecayBase: added check that
environment variable G4RADIOACTIVEDATA is pointing to correct
directory. Moved check from G4RadioactiveDecay::LoadDecayTable()
to constructor. Addresses problem report #1942.
+ util:
o G4StableIsotopes: moved static member function definitions to
source file.
o Fixed self-consistency in headers (missing #include) in DumpFrame,
G4GHEKinematicsVector and G4ping.

o Run:
---
+ G4RunManagerKernel: application state is set to G4State_Init while
application is in RunInitialization().
Updated banners by adding last two general papers.
+ Fixed self-consistency in G4FastSimulationVector header
(missing #include).

o Visualization:
-------------
+ modeling:
o Fixed self-consistency in G4AttValueFilterT header (missing #include).
+ OpenGL:
o G4OpenGLStoredSceneHandler: removed call to glDrawBuffer(GL_FRONT),
which seems to cause problems for the case of display list memory
being exceeded.

o Examples:
--------
+ basic/B5:
o Added missing filling of row n-tuple in EventAction.
+ extended/hadronic/Hadr04:
o NeutronHPphysics: use pManager->GetProcess(processName).
+ extended/medical/electronScattering2:
o Removed unused instantiation of G4ScoringManager.
+ extended/physicslists/extensibleFactory:
+ extended/physicslists/factory:
+ extended/physicslists/genericPL:
o Corrected GNUmake script.
+ extended/physicslists/shared:
o Corrected copy script.

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

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

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

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

Please refer to the Geant4 User Documentation for further information about
using Geant4.
1 change: 1 addition & 0 deletions ReleaseNotes/ReleaseNotes4.10.4.html
Expand Up @@ -1031,6 +1031,7 @@ <H3><I>Hadronic Processes</I></H3></A>
in Clean(), added exception to prevent deletion of G4RadioactiveDecay
already deleted somewhere else.</LI>
<LI>Added fMuAtomicCapture in G4HadronicProcessType.</LI>
</UL></LI>
<LI><B>Stopping</B>
<UL>
<LI>Define G4MuonMinusAtomicCapture as a process at rest.
Expand Down
18 changes: 18 additions & 0 deletions cmake/History
Expand Up @@ -31,6 +31,24 @@ add this in the documentation for the changed file as [BUGFIX #BUGNUMBER].

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

26th February 2018 - Ben Morgan (cmake-V10-03-53, 52)
- Geant4InstallData.cmake, Geant4CTest.cmake: Update URL for downloads
to "cern.ch/geant4-data" as the correct alias to new EOS area, seperate
from main website. Superceeds cmake-V10-03-51.

26th February 2018 - Ben Morgan (cmake-V10-03-51)
- Geant4InstallData.cmake, Geant4CTest.cmake: Update URL for downloads
to "cern.ch/geant4" as the correct alias.

26th February 2018 - Ben Morgan (cmake-V10-03-50)
- G4BuildSettings.cmake: Add 17/c++17 to C++ standards against which
Geant4 can be compiled. Will require a minimum CMake version of
3.8 to enable, but this is not checked.

8th December 2017 - Ben Morgan
- Templates/UseGeant4_internal.cmake: When running test driver directly,
make it run in WORKING_DIRECTORY if this is supplied.

30th November 2017 - Gabriele Cosmo (cmake-V10-03-49)
- Replaced USolids specific flags with VecGeom in Geant4OptionalComponents.cmake.
From now on VecGeomConfig.cmake will be required and used instead of
Expand Down
6 changes: 3 additions & 3 deletions cmake/Modules/G4BuildSettings.cmake
Expand Up @@ -143,13 +143,13 @@ endif() #NOT WIN32
#

#.rst
# - ``GEANT4_BUILD_CXXSTD`` (Allowed values: 11, 14, c++11, c++14)
# - ``GEANT4_BUILD_CXXSTD`` (Allowed values: 11, 14, 17, c++11, c++14, c++17)
#
# - Choose C++ Standard to build against from supported list.
#
enum_option(GEANT4_BUILD_CXXSTD
DOC "C++ Standard to compile against"
VALUES 11 14 c++11 c++14
VALUES 11 14 17 c++11 c++14 c++17
CASE_INSENSITIVE
)

Expand Down Expand Up @@ -189,7 +189,7 @@ if(GEANT4_BUILD_CXXSTD GREATER 11)
if(CMAKE_CXX${GEANT4_BUILD_CXXSTD}_COMPILE_FEATURES)
list(APPEND GEANT4_TARGET_COMPILE_FEATURES ${CMAKE_CXX${GEANT4_BUILD_CXXSTD}_COMPILE_FEATURES})
else()
message(FATAL_ERROR "Geant4 requested to be compiled against C++ standard '${GEANT4_BUILD_CXXSTD}'\nbut detected compiler '${CMAKE_CXX_COMPILER_ID}', version '${CMAKE_CXX_COMPILER_VERSION}'\ndoes not support any features of that standard")
message(FATAL_ERROR "Geant4 requested to be compiled against C++ standard '${GEANT4_BUILD_CXXSTD}'\nbut detected compiler '${CMAKE_CXX_COMPILER_ID}', version '${CMAKE_CXX_COMPILER_VERSION}'\ndoes not support, or CMake (${CMAKE_VERSION}) is not aware of, any features of that standard.")
endif()
endif()

Expand Down
2 changes: 1 addition & 1 deletion cmake/Modules/Geant4CTest.cmake
Expand Up @@ -33,7 +33,7 @@ if(GEANT4_ENABLE_TESTING)
endforeach()

# - Add base URL for test reference files
set (GEANT4_TEST_REFERENCES_URL "http://geant4.cern.ch/stt/references/" CACHE
set (GEANT4_TEST_REFERENCES_URL "http://cern.ch/geant4-data/stt/references/" CACHE
STRING "base URL for test reference files")
mark_as_advanced(GEANT4_TEST_REFERENCES_URL)

Expand Down
2 changes: 1 addition & 1 deletion cmake/Modules/Geant4InstallData.cmake
Expand Up @@ -99,7 +99,7 @@
# retrieving them globally
#-----------------------------------------------------------------------
# Geant4 Data Repository
set(GEANT4_DATASETS_URL "http://geant4.cern.ch/support/source")
set(GEANT4_DATASETS_URL "http://cern.ch/geant4-data/datasets")

# Where to install data in the build tree
set(GEANT4_BUILD_FULL_DATADIR ${PROJECT_BINARY_DIR}/data)
Expand Down
6 changes: 6 additions & 0 deletions cmake/Templates/UseGeant4_internal.cmake
Expand Up @@ -223,6 +223,12 @@ function(geant4_add_test test)
if(ARG_FAILREGEX)
set_property(TEST ${test} PROPERTY FAIL_REGULAR_EXPRESSION ${ARG_FAILREGEX})
endif()

# If WORKING_DIRECTORY supplied, make sure testdriver is run in
# that directory.
if(ARG_WORKING_DIRECTORY)
set_property(TEST ${test} PROPERTY WORKING_DIRECTORY "${ARG_WORKING_DIRECTORY}")
endif()
endif()

#- Handle TIMOUT and DEPENDS arguments
Expand Down
6 changes: 5 additions & 1 deletion config/History
@@ -1,4 +1,4 @@
svn log $Id: History 107491 2017-11-16 09:38:59Z gcosmo $
svn log $Id: History 108466 2018-02-15 13:48:04Z gcosmo $
-------------------------------------------------------------------

=========================================================
Expand All @@ -16,6 +16,10 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------

14th February 2018 Gabriele Cosmo (config-V10-03-08)
- Disable "-Wl,-force_load" global linker flag for static libraries in macro
Darwing-clang.gmk.

16th November 2017 Gabriele Cosmo (config-V10-03-07)
- architecture.gmk: removed references to old USolids library; just use VecGeom.

Expand Down
2 changes: 1 addition & 1 deletion config/sys/Darwin-clang.gmk
Expand Up @@ -53,7 +53,7 @@ ifeq ($(G4SYSTEM),Darwin-clang)
CCFLAGS += -fPIC
endif
G4RUNPATHOPTION := -Wl,-rpath
G4STATIC_MODE += -Wl,-force_load
# G4STATIC_MODE += -Wl,-force_load
FC := gfortran
FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore
LDFLAGS += -bind_at_load
Expand Down

0 comments on commit cb38379

Please sign in to comment.