Import Geant4 10.3.1 source tree

This commit is contained in:
Gabriele Cosmo
2017-02-28 16:16:20 +01:00
parent a3452e42ac
commit 4597adb7c4
267 changed files with 14761 additions and 24650 deletions
+231
View File
@@ -0,0 +1,231 @@
Geant4 10.2 - patch-03 Release Notes
------------------------------------
27 January 2017
List of fixes included in this public patch since the public release 10.2.p02:
o Configuration:
-------------
+ CMake:
o Correctly export USolids/VecGeom settings to GNUmake configuration
scripts.
o Provided placeholder variable for adding setting of XercesC library
path. Addressing problem report #1877.
o Analysis
--------
+ Fixed incompatibility with ROOT 5.x and 6.x formats.
+ Fixed compilation warnings and MacOSX and Win64.
o Error-Propagation
-----------------
+ G4ErrorPhysicsList: replaced direct use of 'aParticleIterator' with
GetParticleIterator(), to allow for porting on clang-3.9 and XCode-8
on MacOS.
o Event:
-----
+ Fixed way of deleting G4PrimaryVertex objects to avoid stack overflow
for very large number of primary vertices.
+ Set polarization to pre-assigned decay products in G4PrimaryTransformer.
Addressing problem report #1914.
o Geometry:
--------
+ magnetic-field:
o Fixed G4ClassicalRK4 header with protection against multiple inclusions.
+ management:
o Moved initialisation of G4GeomSplitter thread-local data to be inline
along with generic template type; moved accessors/modifiers for splitter
data to non-inline in G4Region, G4LogicalVolume and G4VPhysicalVolume.
Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS.
o Removed redundant check in G4GeomSplitter::UseWorkArea().
Addressing problem report #1876.
+ navigation:
o Fixed recursion test for overlaps in G4GeomTestVolume to iterate on
all daughters.
o G4ReplicaNavigation: use Cartesian tolerance in distance evaluation
in DistanceToOutPhi(). Addressing problem report #1902.
o G4Navigator: in ComputeStep() force abortion of event if track gets
really stuck, but avoid check for overlaps if push-verbosity is set to
false. Extended printout for stuck tracks, to show also local
coordinates.
o Fix in G4Navigator::GetGlobalExitNormal() to synchronise caching of
'fExitNormalGlobalFrame' before returning.
Addressing problem report #1750.
Added more diagnostics in G4VERBOSE mode.
o G4PhantomParameterisation: revisited precision checks.
o G4PropagatorInField: fix to pass accuracy values to Intersection Locator
after re-evaluating epsilon.
o Added annotations for while-do loops.
+ solids/Boolean:
o G4SubtractionSolid: directly return previously computed distance in
DistanceToIn(p,v) if no progress is made (zero step).
+ solids/CSG:
o Disabled check for intersection of cut planes in G4CutTubs constructor,
as too strict and not necessary. Addressing problem report #1887.
o Use G4RandFlat instead of RandFlat.
+ solids/specific:
o Moved accessors/modifiers for splitter data to non-inline in
G4PolyhedraSide and G4PolyconeSide. Moved initialisation of
G4GeomSplitter thread-local data to be inline along with generic
template type.
Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS.
o Fixed minor typo in function Create() for G4Polycone, G4Polyhedra and
G4GenericPolycone. Fixed minor typos in G4GenericTrap::SurfaceNormal()
and G4VTwistSurface::CurrentStatus::ResetfDone().
Addressing problem report #1876.
o Use G4RandFlat instead of RandFlat.
+ volumes:
o Correction in G4NavigationHistory default constructor to use
GetLevels() instead of GetNewLevels() from G4NavigationHistoryPool,
to favor re-use of already allocated space.
Corrected printout in streaming operator.
o Moved initialisation of G4GeomSplitter thread-local data to be inline
along with generic template type.
Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS.
o Global:
------
+ G4StatDouble: fixed computation of RMS and added new constructor.
+ G4UnitsTable: use 'hep_pascal' instead of 'pascal' to avoid potential
symbol conflicts on Windows.
+ Made initialisation of G4TWorkspacePool thread-local data to be inline
along with generic template type. Fixing compilation/linking errors on
clang-3.9 and XCode-8 on MacOS.
+ Fixed compilation warning on MacOS Sierra in MT mode in function
G4Threading::G4GetPidId().
+ Updated date and version for 10.2.p03.
o Graphics Representations:
------------------------
+ G4VisAttributes::GetInvisible(): changed to use a static instance instead
of G4VisAttributes::Invisible; moved implementation to be not inline.
Deprecated G4VisAttributes::Invisible.
o Materials:
---------
+ Fixed incorrectly calculated index for MicroRoughness lookup table
in G4UCNMaterialPropertiesTable. Fixed incorrectly calculated
MicroRoughness amplitude in G4UCNMicroRoughnessHelper.
o Parameterisations:
-----------------
+ gflash:
o Fixed memory leak in GVFlashShowerParameterisation.
o Removed redundant condition in GFlashHitMaker::make().
Addressing problem report #1876.
o Particles:
---------
+ Fixed way of deleting G4PrimaryVertex and G4PrimaryParticle objects
to avoid stack overflow for very large number of primary vertices or
primary particles.
+ Fixed calculation of neutrino mass in G4MuonRadiativeDecayWithSpin.
Addressing problem report #1928.
+ Replaced use of obsolete G4PDefSplitter class by G4PDefManager, concrete
class with implementation. This addresses initialisation problems of
static data previously in template.
Moved accessors/modifiers for splitter data to non-inline in
G4ParticleDefinition and moved initialisation of Splitter thread-local
data to be inline along with generic template type.
Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS.
o Persistency:
-----------
+ GDML:
o Fixed check for correctness of the units for divisions and replicas
along angular axis. Addressing problem report #1912.
+ mctruth:
o Fixed typo in G4PersistencyCenterMessenger::GetCurrentValue() in
selection of verbose mode. Addressing problem report #1876.
o Physics Lists
-------------
+ Replaced direct use of aParticleIterator by GetParticleIterator().
Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS.
o Processes - Electromagnetic:
---------------------------
+ dna:
o Removed check of c++ version for unique_ptr/auto_ptr selection in
G4MoleculeCounter.
+ lowenergy:
o Removed verbosity in G4AtomicTransitionManager.
Addressing problem report #1874.
o Fixed typo in G4hParameterisedLossModel.
Addressing problem report #1876.
+ utils:
o G4EmBiasingManager: fixed typo in condition.
Addressing problem report #1876.
o Processes - Hadronic:
--------------------
+ models/im_r_matrix:
o G4VScatteringCollision: fixed memory leak in MT-mode.
Addressing problem report #1905.
+ models/lend:
o Fixed to use G4Random.
o Improved memory consumption in multi-threaded runs.
o Fixed compilation warning in GCC with -O3 optimisation option.
+ models/particle_hp:
o Reintroduced cache of cross-section in GetIsoCrossSection().
Fixing CPU performance penalty introduced in release 10.2 on HP
processes.
o Fixed warning messages on clang-3.8,
+ processes:
o UCN processes: fixed incorrectly calculated MicroRoughness correction
to absorption probability. Corrected calculation of refracted velocity
after transmission.
+ util:
o Fix in G4Nucleus::GetThermalNucleus() in branch on total energy
calculation using relativistic energy at higher energies.
Addressing problem report #1911.
o Processes - Optical:
-------------------
+ Fixed potential problem of photon stuck when traveling almost
perpendicular to the surface normal. Addressing problem report #1888.
o Run:
---
+ Added method GetParticleIterator() in G4VPhysicsConstructor and in
G4VUserPhysicsList. Mved static GetInstance() method in G4RNGHelper to be
not inline. Moved initialisation of G4VUPLSplitter thread-local data to
be inline along with generic template type.
Removed explicit initialisation of thread-local data from workspaces,
as now happening inline in G4TWorkspacePool.
Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS.
+ Removed redundant check in G4VUPLSplitter::UseWorkArea().
Addressing problem report #1876.
+ G4WorkerRunManager: minor printout improvement.
o Visualization:
-------------
+ management:
o G4Scene: replaced warning reference to obsolete
G4VisAttributes::Invisible to G4VisAttributes::GetInvisible().
+ OpenGL:
o Fixed compilation warning on Win64.
o Examples:
--------
+ Updated reference outputs.
+ Replaced direct use of 'a/theParticleIterator' with GetParticleIterator().
----------------------------------------------------------------------------
Technical Notes
---------------
o This patch should be applied on top of release 10.2.
o Technical notes distributed for release 10.2 are also applicable and
valid for this patch.
The code and rebuilt binary libraries for release 10.2.p03 are available
through our "Download" Web page.
Please refer to the Geant4 User Documentation for further information about
using Geant4.
+236
View File
@@ -0,0 +1,236 @@
Geant4 10.3 - patch-01 Release Notes
------------------------------------
24 February 2017
List of fixes included in this public patch since the public release 10.3:
o Configuration:
-------------
+ CMake:
o Updated data-sets to G4PhotonEvaporation-4.3.2 and
G4RadioactiveDecay-5.1.1.
o Analysis
--------
+ Restored clean-up of Root empty files in MT mode.
o Geometry:
--------
+ solids/Boolean:
o Return normal from solid being subtracted, in case point is located
outside in G4SubtractionSolid::SurfaceNormal().
o Code formatting and minor cleanup in G4IntersectionSolid.
+ solids/CSG:
o Use radius differences and hypot to improve precision in G4Torus.
Addressing problem report #1931.
o Fix in GetCubicVolume() and GetSurfaceArea() for G4CutTubs, to make
use of the cached values. Addressing problem report #1943.
o Removed redundant code/checks in G4Orb::SurfaceNormal().
+ solids/specific:
o Correction in G4UExtrudedSolid to signature for CalculateExtent().
Fixes issue of undefined symbol if extruded-solid not included in the
list of VecGeom wrappers to activate.
+ volumes:
o Correction in G4NavigationHistory default constructor to use
GetLevels() instead of GetNewLevels() from G4NavigationHistoryPool,
to favor re-use of already allocated space.
o Global:
------
+ Removed obsolete G4SubString code used internally in G4String, as no
longer necessary and also including unnecessary and buggy operators.
Addressing problem report #1864.
+ Updated date and version for 10.3.p01.
o Intercoms:
---------
+ Added "/control/useDoublePrecision" UI command to extend to 17 digits
precision printout for the current parameter values.
Addressing problem report #1921.
o Interfaces:
----------
+ G4UIQt: added missing check for pointer deletion.
Addressing problem report #1933.
o Materials:
---------
+ Removed debug printout from G4MaterialPropertiesTable destructor.
Addressing problem report #1944.
o Particles:
---------
+ Fixed calculation of neutrino mass in G4MuonRadiativeDecayWithSpin.
Addressing problem report #1928.
+ Added class G4AdjointElectronFI.
o Physics Lists
-------------
+ constructors/decay:
o G4RadioactiveDecayPhysics: simplified list of EM parameters.
Switch on storing of all internal conversion data vector for correct
gamma deexcitation modeling in radioactive decay.
+ constructors/electromagnetic:
o Added 'setCerenkov/ScintillationStackPhotons' commands to
G4OpticalPhysicsMessenger and use them in G4OpticalPhysics.
+ constructors/hadron_inelastic:
o Fixed printing of setup for transition energy region between FTFP
and BERT to happen only from master thread.
+ constructors/limiters:
o Fixed printing of setup parameter for nureon tracking cuts to happen
only from master thread.
+ lists:
o G4PhysListFactory: added single scattering EM option (need to add
"__SS" to the reference physics list name for activation).
o Processes - Electromagnetic:
---------------------------
+ adjoint:
o Correction for cases of FPE in G4AdjointForcedInteractionForGamma.
+ dna:
o Prevent a crash when calling G4ITTrackingManager::EndTracking() from
the UserTimeStepAction::PostTimeStepAction.
o Added missing call to tracking-manager.
o Code cleanup in G4KDNode and G4KDMap.
+ utils:
o Fixed typo in G4EmParametersMessenger. Addressing problem report #1929.
o Processes - Hadronic:
--------------------
+ models/de_excitation:
o G4LevelManager, G4NuclLevel, G4LevelReader: reduce memory for description
of a level: each two integer parameters are packed into one integer value;
use only one set of probabilities of transition independently on use-case
(HEP or radioactive decay). Fill internal conversion coefficients into the
data structure only if a flag SetStoreAllLevels() is set to true; in the
last case, more memory required per isotope (~8 times).
o G4LevelManager: fixed unpacking of spin.
o G4LevelReader: fixed Ra228 problem; read all levels from a data file.
Fixed U235[0.076] problem: if value of alpha (relative probability of the
internal conversion) is 10^10, then assume that internal conversion will
go via outer levels and gamma emission has zero probability; internal
conversion is forced independently on other flags.
o G4NucLevel: in TransitionType, use % operator to correctly strip off
leading digit.
o G4GammaTransition: sample e- with kinetic energy corresponding to
transition between nuclear levels, ignoring atomic effects, when internal
conversion data are not filled but sampling e- emission is selected.
In SampleDirection(), fix to avoid only zero polarization returned;
return back sampling when initial state has angular moment but its
polarisation is random; also fix in order to comply with instructions in
G4PolarizationTransition for the call order and to properly initialize
the nuclear polarization.
Use SetExcitationEnergy() method of G4Fragment for keeping excitation
energy exact as in the database and avoid rare cases of event
non-reproducibility; added SetVerbose() method.
Fixed multipolarity based on the updated data-set.
Added control on printout; fixed thread unsafe check.
o G4PhotonEvaporation, G4GammaTransition: improved sampling and kinematics
for internal conversion. Added internal conversion in G4PhotonEvaporation
even if the data are not stored.
o G4PolarizationTransition: fix for computation of polarisation and
multi-polarity. Fix in SetGammaTransitionData().
Added SetVerbose() method; added protection from extra verbosity.
o G4ExcitationHandler: moved Dump() printout within Initialise()
method; print info if evaporation channels are changed.
Added local data member to control verbosity level.
o G4ExcitationHandler, G4PhotonEvaporation: use floating level number.
o G4DeexPrecoParameters: changed default time limit from 0.01 s to
1 microsecond. By default use uniform angular distribution in CM
system of precompound decay. Extended Dump() printout; make new data
structure the default. By default, use uniform angular distribution
in CM sytem of precompound decay.
Changed minimum excitation energy now set to 10 eV (was 100 eV).
o G4VEvaporation: added extra const access method.
o G4Evaporation: added data member to control verbosity level.
o Fixed case of event non-reproducibility due precision lost in
Lorentz transformations.
o G4LevelReader: in the case of broken file structure or absence of
a data file a fatal exception is issued.
Addressing problem report #1942.
+ models/im_r_matrix:
o G4VScatteringCollision: fixed memory leak in MT-mode.
Addressing problem report #1905.
+ models/radioactive_decay:
o G4ITDecay: in constructor, make G4PhotonEvaporation a class member
and initialize only once to avoid memory churn.
Added check on Z, A, excitation energy in order to be sure that
correlated gamma may be sampled; reset 4-momentum at rest when previous
nucleaus is reused; use floating level index when a new ion is created.
o G4RadioactiveDecay: temporarily switched off correlated gamma emission,
to limit observed event non-reproducibility violations.
+ models/util:
o G4Fragment: minor cleanup of check on excitation energy of a ground
state. Added method SetExcEnergyAndMomentum() allowing to preserve
excitation energy value without precision lost; 4-momentum is
recomputed. Added missing class member and accesors/modifiers for
floating levels number.
o Added control on printout in G4PolynomialPDF.
o Run:
---
+ Modifications to fix bug with reverse track splitting.
Added function ResetDidOneAdjPartReachExtSourceDuringEvent() to
G4AdjointSimManager and use it in G4AdjointPrimaryGeneratorAction.
+ Fixed printing of banner to happen only from master thread.
o Tracking:
--------
+ Modification in G4AdjointSteppingAction for fixing bug with reverse
track splitting.
o Visualization:
-------------
+ management:
o Fix in G4VisCommandsViewer to have '/vis/viewer/interpolate' to work
on Windows.
+ OpenGL:
o Fixed bug in ScaledFlush.
+ OpenInventor:
o G4OpenInventorXtExtendedViewer: added viewer button for Wireframe/Solid
switching. Added workaround to prevent empty second page in PS and PDF
output (due to superimposed scene).
+ RayTracer:
o G4RTXScanner: changed XA_RGB_BEST_MAP to XA_RGB_DEFAULT_MAP.
o Data sets:
---------
+ Patched data set for nuclides properties G4PhotonEvaporation-4.3.2:
o Corrected correlated_gamma files for the uncorrect setting of the
multipolarity E0 as -1. Now considering E0,E1,M1, as 1,2,3,.....
The value of = is for unkown.
o Corrected correlated_gamma files z64.a148,z64.a149,z64.a150,z81.a194
for problem of order of level index.
+ Patched data set for radioactive-decay, G4RadioactiveDecay-5.1.1:
o Correction of negative Q value for metastable 190+X level in z77.a194.
o Correction of z38.a85 (Sr-85) with input data from DDEP.
Addressing problem report #1922.
o Examples:
--------
+ Updated reference outputs.
+ advanced/hadrotherapy:
o Fixed field setup; corrected physics-list.
Addressing problem report #1879.
+ extended/exoticphysics/ucn:
o Reduced verbosity.
+ extended/medical/dna/pdb4dna:
+ extended/medical/dna/wholeNuclearDNA:
o Fixed compilation problem when Qt is enabled.
----------------------------------------------------------------------------
Technical Notes
---------------
o This patch should be applied on top of release 10.3.
o Technical notes distributed for release 10.3 are also applicable and
valid for this patch.
The code and rebuilt binary libraries for release 10.3.p01 are available
through our "Download" Web page.
Please refer to the Geant4 User Documentation for further information about
using Geant4.
+11 -1
View File
@@ -63,7 +63,7 @@ User Documentation</A> for further information about using Geant4.
Platforms:
<UL>
<LI>Linux, gcc-4.8.4.<BR>
<LI>Linux, gcc-4.8.5.<BR>
Tested on 64 bit architectures (Intel or AMD) with
CERN CentOS Linux 7 (CC7) (based on CentOS Linux 7).</LI>
<LI>MacOSX 10.12 Sierra with clang-3.8 (Apple LLVM/Clang-8.0.0)</LI>
@@ -144,6 +144,16 @@ re-compilation) and a re-compilation of user applications is required.
and schema validation thorugh network is already activated against it.</LI>
</UL>
<P> </P>
<B>Senditive Detectors</B>
<P> </P>
<UL>
<LI>An explicit call to G4SDManager::AddNewDetector() <U>must now be added</U>
in order to register a sensitive-detector. The use of
G4VUserDetectorConstruction::SetSensitiveDetector() no longer does
this implicitly.</LI>
</UL>
<P> </P>
<B>Electromagnetic and optical physics</B>
<P> </P>