Geant4 9.0 Release Notes
The code and binary libraries for the supported systems are available
through our Source
Code Web page.
Please refer to the
Geant4
User Documentation for further information about using Geant4.
Contents
- Supported and Tested Platforms
- CLHEP and AIDA
- Items for migration of the user code
- New Developments and Capabilities
- Expected effects on physics and performance
- Known Run-Time Problems and Limitations
- Compilation Warnings
- Known Run-Time Warnings
- Geant4 Software License
- Detailed list of changes and fixes
1. Supported and Tested Platforms
Official platforms:
- SUN Solaris 5.8, C++ CC-5.5.
- Linux, gcc 3.4.6.
This configuration was tested on 32 bits architectures (Intel)
and 64 bits architectures (AMD) with the Scientific Linux CERN 3
(SLC3) distribution (based on RedHat Linux Enterprise 3) and
Scientific Linux CERN 4 (SLC4) distribution (based on RedHat Linux
Enterprise 4).
Versions of Geant4 have also been compiled successfully on other
Linux distributions, like Debian, Suse or other RedHat systems.
- Windows/XP and CygWin Tools with: Visual C++ 8.0 (Visual Studio 2005)
More verified configurations:
- SUN Solaris 5.8, C++ CC-5.4 Patch 111715-02
- Linux, gcc-3.2.3, gcc-4.2.0
- Linux, Intel-icc 9.1
- MacOS 10.4, gcc-4.0.1
- Windows/XP and CygWin Tools with: Visual C++ 7.1 .NET
Platforms configured but not tested and not supported:
- AIX 4.3.2, xlC 6.0
- DEC V4.0, cxx C++ V6.1-027
- HP 10.20, aCC C++ B3910B A.01.23
- SGI V6.5.5, CC 7.2.1
2. CLHEP and AIDA
Geant4 9.0 requires the installation of
CLHEP.
Tests have been performed with CLHEP-2.0.3.1
The software has been verified also with CLHEP-1.9.3.1.
Geant4 9.0 examples with histogramming cowork with analysis tools compliant
to AIDA 3.2.1 interfaces.
AIDA headers can be downloaded from:
http://aida.freehep.org
3. Items for migration of the user code
Listed here is some relevant information on developments included in this
release, some of which may require migrations (mainly for advanced uses of
features in Geant4) in order to upgrade from release 8.3 to release 9.0.
Note that a full re-installation of libraries (or a full recompilation) and
a recompilation of user applications is anyhow required.
Geometry
The static constants for the geometrical tolerance kCarTolerance,
kRadTolerance and kAngTolerance which used to be defined
at global scope, have been now removed.
Advanced applications making use of such constants in the code are required
to retrieve the values for Cartesian, Angular and Radial tolerances through
the class G4GeometryTolerance, a new class providing the methods,
respectively: GetSurfaceTolerance(), GetRadialTolerance()
and GetAngularTolerance(). Applications with setups of unusual
dimensions (e.g. smaller than 1 mm or larger than 1 km)
can now adjust these values, and must do so before creating any part of
the geometry description. Please see the User's Guide for Application
Developers for the details.
Biasing & Scoring
- When defining a parallel geometry for importance biasing, the parallel
geometry now must inherit from G4VUserParallelWorld. This
has a GetWorld() method which creates a (named) copy of the mass
geometry world volume and later retrieves it.
- The different parallel and mass sampler classes have been combined into
one G4GeometrySampler class which requires the following
instantiation, e.g.:
mgs(detector->GetWorldVolume(),"neutron");
An additional set method defines whether or not the sampler is in a
parallel geometry: mgs.SetParallel(false);
- When a parallel world is created, then parallel navigation must be activated. An application with physics list that uses the AddTransportation method will automatically use
G4CoupledTransportation which is picked up by the creation of
the parallel world copy.
- All scoring can be implemented only through the Primitive Scorer
classes. Users utilising the older scoring classes will need to migrate to using Primitive Scorers. The same functionality is provided apart from G4ScoreTable, but scorers are now attached to logical volumes (in place of geometry cells).. This requires
explicit copy numbers to be utilised for the same logical volume and the
GeometryCell methods should be accessed through the physical
volume and replica number method.
- A demonstration of the new biasing and scoring is available in
examples/extended/biasing/B01 and B02.
Standard Electromagnetic physics
A few methods of the interface classes G4VEmModel,
G4VEnergyLossProcess, G4VEmProcess,
G4VMultipleScattering were revised, in order to reduce memory
allocations. All classes inheriting these interfaces were modified accordingly
(see detailed list of changes). Advanced users with derived classes must make
similar changes.
Old implementations of physics processes, of configurations frozen in release
5.2, have been removed (see below detailed list of changes).
An enumerator of step limitation algorithms of the multiple-scattering process
has been introduced. It replaces a boolean value . The step limitation types
are:
- Minimal - equivalent to the original algorithm, as implemented in Geant4 7.1 and earlier releases.
- UseSafety - the current default, which makes use of the geometrical safety
- UseDistanceToBoundary - the most advanced, recommended for accuracy in the
cases where no magnetic field is set.
As in releases 8.0 to 8.2, the minimal option (which used to be called
'no step limitation') results in fewer steps, and typically provides less
stability than the other options.
Hadronic physics
- Isotope production counting flag is now set to OFF by default.
If desired, user code must switch it on using the method
G4HadronicProcess::EnableIsotopeCounting().
Isotope production models allow users to specify their own
isotope production mechanism and data set, or use G4NDL to get
the production cross sections. If no model is specified,
the largest final state nuclear fragment becomes the produced
isotope. If enabled, isotope production will occur for any
hadronic model. Only users who have specifically assigned an
isotope production model in their physics lists will be affected
by tghe above change.
- The old variable NeutronHPCrossSections defining the path where
to load the G4NDL data set has been renamed to G4NEUTRONHPDATA,
so that this variable shares the G4 prefix used for other environment
variables; therefore the user environment must be changed accordingly.
Physics Lists
Removed physics lists LHEP_HP, QGSP_HP, LHEP_BIC, LHEP_BIC_HP
and LHEP_PRECO, which were marked obsolete in release 8.2.
Users are encouraged to evaluate QGSP_BIC as a replacement of
LHEP_PRECO and LHEP_BIC. The list LHEP_BIC_HP
is replaced by QGSP_BIC_HP. In place of the remaining lists
(LHEP_HP, QGSP_HP) we suggest to evaluate QGSP_BERT_HP
and QGSP_BIC_HP.
Also removed physics lists using the Mars13 leading particle classes,
i.e. lists with a name containing _LEAD_.
The components for electro-magnetic physics have been renamed and three
variants are now available:
- G4EmStandardPhysics - the default
- G4EmStandardPhysics_option1 - providing similar physics to
that implemented in release 7.1
- G4EmStandardPhysics_option2 - using sub-cutoff
options, which enable lower production thresholds for delta-electrons
near geometry boundary.
Data Sets
This release introduced three new versions of the following data sets.
Please see the last section for the corresponding details.
- New data for neutron cross-sections, G4NDL.3.11.
- New low-energy data set, G4EMLOW.4.3.
- Fix in revised data set for radioactive-decay, G4RadioactiveDecay.3.2.
4. New Developments and Capabilities
Error Propagation
- The first implementation of error progration for tracks is provided.
This capability is new to Geant4, and is a new implementation of
GEANE capabilities. Users are invited to provide feedback.
Standard Electromagnetic physics
- The structure of UI commands was changed: a new directory
/process/msc contains all commands for multiple scattering.
New UI commands are added to control the parameters of the Multiple
Scattering process:
- /process/msc/Skin
- /process/msc/RangeFactor
- /process/msc/GeomFactor
- /process/msc/StepLimit
- /process/msc/LateralDisplacement.
- The interface to G4EmProcessOptions is modified to be consistent
with this change.
- As a result, the possibility to change the values of parameters between
runs is now extended to all parameters which can be defined via the UI.
Hadronic physics: Neutrons
- When using the high precision neutron module, a user may now choose to
force the use of the Photon Evaporation model, instead of the neutron
capture final state data. The environment variable
G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION must be
set to do this. For cases in which the final state data does not exist
in the G4NDL data library, this model was already used and thus there is
no change.
- A user can force high precison neutron code to use only exact isotope
data files, instead of allowing nearby isotope files to be used. In this
case if the exact file is not available, the cross section will be set to
zero and a warning message will be printed. To enable this, set the
environment variable G4NEUTRONHP_SKIP_MISSING_ISOTOPES.
- A user can switch off the Doppler broadening due to the thermal motion of
the target nucleus. The broadening is used to correct the G4NDL data,
which are at zero temperature. This must be done only for appropriate
applications. To switch it broadening off, the environment variable
G4NEUTRONHP_NEGLECT_DOPPLER must be set. Then the Doppler
broadening in the cross section calculation is neglected. However, the
thermal motion of the nucleus is still taken into account in the Final
State Generator. This option provides a significant CPU performance
advantage. It is not suitable, though, for simulation in which low energy (thermal)
neutrons are important, as related observables are affected.
5. Expected effects on physics and performance
Standard Electromagnetic physics
- Results for calorimetry are expected to be unchanged within 0.5%.
The width of energy deposition in thin layers (vertex detectors) should
be more close to data - current accuracy is few percent.
- In simple setups a speedup of simulation of EM showers of about 10%
is observed for the 'default' EM physics configuration (used in most
lists, including QGSP) and about 5% for the faster 'optional' physics
configuration (used in EMV lists, such as QGSP_EMV).
Hadronic physics
- The FTF model is now used in some physics lists down to 5 GeV.
- Bug fixes in LEP models remove an un-physical peak at 180 degrees and
reduce the number of very low energy nucleons produced. The net effect
is to shift the angular distributions forward by about 5-10 degrees and
increase the mean secondary kinetic energy by roughly
20 - 30 MeV.
Effects of this size occur at incident particle energies of
2 - 10 GeV.
At higher energies the effect is small. Benchmark tests show little
change in shower shape.
6. Known Run-Time Problems and Limitations
For a complete list of outstanding run-time problems and to submit any
problem you may find running this version of Geant4, please refer to the
Geant4 Problem
Reporting System.
7. Compilation Warnings
There are compilation warnings on some tested platforms. We do not believe
that any of these lead to incorrect run-time behaviour.
8. Known Run-Time Warnings
The following message can be written to standard output at the end of a program:
G4Transportation: Statistics for looping particles
Sum of energy of loopers killed:
Max energy of loopers killed:
It provides the total energy (in MeV) of tracks killed due to
excessive number of steps ('looping') during the simulation, and the maximum
energy of such a track. Such behaviour can be due to looping in magnetic fields
or encountering problems at geometrical boundaries.
In case either of these reported energy is significant, we recommend to
increase the verbosity of G4Transportation to obtain information for
each track killed. A user can change the threshold energy above which particles
are not killed using the method SetThresholdImportantEnergy of
G4Transportation. The default value is 250 MeV.
9. Geant4 Software License
A Software License applies to the Geant4 code.
Users must accept this license in order to use it. The details and the list of
copyright holders is available at
http://cern.ch/geant4/license
and also in the text file LICENSE distributed with the source code.
10. Detailed list of changes and fixes
These are the main new features/fixes included in this release since the
last patched public release (for more detailed lists of fixes/additions,
please refer to the corresponding History files provided in most packages):
Configuration
- Added modules biasing, error_propagation and
lll_fission to configuration.
- Removed G4LIB_BUILD_LISTS flag. Physics lists module
is built by default.
- Updated Configure script to detect new data sets
and to remove search for old physics_list module in installation of
libraries.
Digitization & Hits
- Introducing new scorers for event biasing options.
- Removed G4CellStoreScorer class associated with old
biasing/scoring scheme in detector module.
Electromagnetic Processes
- In all processes inheriting from G4VEnergyLossProcess or
G4VEmProcess, removed the method SecondaryPostStep().
- Modified interface of SampleSecondary() method in all models
inheriting from G4VEmModel base class.
- High Energy
- G4mplIonisation: fixed destruction of monopole ionisation
model.
- Low Energy
- Removed obsolete class G4LowEnergyBraggModel.
- Muons
- G4EnergyLossForExtrapolator: added Set methods for
first and last bins in tables. Default maximum value is set to
10 TeV on CMS request.
- G4MuPairProductionModel: fixed usage of cut value inside
SelectRandomAtom(), providing correct sampling of atom of
mixture for production of e+e- pair.
- New class G4ErrorEnergyLoss for error-propagation.
- Removed obsolete classes G4MuIonisation52,
G4MuPairProduction52, G4MuBremsstrahlung52 and
G4VMuEnergyLoss.
- Polarisation
- G4PolarizedCompton, G4ePolarizedIonisation,
G4eplusPolarizedAnnihilation: added method
PostStepGetPhysicalInteractionLength() in order to provide
simulation of polarized target. Addition required following the
design change in utils module.
- G4PolarizedCompton: fixed compilation warning and incorrect
usage of G4PhysicsVector.
- Standard
- G4ionIonisation:
- Added InitialiseMassCharge() method; removed
GetMeanFreePath() implementation.
- Added NuclearStopping flag.
- Added stopping data only for particle type GenericIon.
- G4MultipleScattering, G4hMultipleScattering:
- Reorganized methods for setting parameters of G4UrbanMscModel
providing a possibility to change parameters between runs.
- G4UrbanMscModel:
- Reorganized initialisation and ComputeTruePathLengthLimit()
method using G4MscStepLimitType enumerator to choose step
limit algorithm.
- Optimisation of step limitation for skin>0 (about 5%
CPU save).
- Use G4SafetyHelper for computation of safety and distance
to the boundary; removed pointer to G4Navigator.
- G4UniversalFluctuation: correction of the algorithm in order to have
better agreement between sampled width and data - precision is few percents.
- G4eBremsstrahlung: removed definition of gamma threshold from
constructor, define this parameter at initialisation of the process
from G4LossTableManager - allow to use UI command.
- Use fParticleChange in
G4eeToTwoGammaModel::SampleSecondaries().
- Removed obsolete classes G4VeEnergyLoss,
G4VhEnergyLoss, G4GammaConversion52,
G4PhotoElectricEffect52, G4eBremsstrahlung52,
G4eIonisation52, G4eplusAnnihilation52,
G4hIonisation52 and G4MultipleScattering52.
- Utils
- G4VEmModel: changed interface of SampleSecondary()
method, return type becomes void, added extra parameter
std::vector<G4DynamicParticle*>*. All classes using or
inheriting this interface are modified. About 5% speedup of EM shower
simulation observed. G4VEmProcess and
G4VMultipleScattering modified to follow new interface.
- G4VEnergyLossProcess, G4VEmProcess:
- Removed method SecondaryPostStep(); use a direct call
to selected model instead.
- Speedup code by adding implementation method
PostStepGetPhysicalInteractionLength().
- Cleanup comments and reorganized code for easier reading;
moved short methods to inline.
- G4VEnergyLossProcess:
- Added methods InitialiseStep() and
InitialiseMassCharge() to define mass and charge
of ions at each step.
- Added implementation method
AlongStepGetPhysicalInteractionLength() in order to
speedup computations.
- Remove pointer to G4Navigator and use G4SafetyHelper.
- Added proper initialisation of preStepKinEnergy.
- G4VMultipleScattering:
- Speedup code by adding implementation of methods
AlongStepGetPhysicalInteractionLength() and
PostStepGetPhysicalInteractionLength().
- Cleanup comments and reorganized code for easier reading;
moved short methods to inline; added method to set
multiple-scattering parameters.
- G4EnergyLossMessenger:
- Defined new UI sub-directory /process/msc
and reorganized UI commands for multiple-scattering processes.
Using G4EmProcessOptions as an interface to all EM
processes.
- G4LossTableManager: removed setting of multiple-scattering
parameters and fixed deletion of G4EmCorrections class in
destructor.
- G4EmProcessOptions: updated interface to multiple-scattering
processes, added extra methods to set multiple-scattering parameters.
- Added class G4MscStepLimitType.
Error Propagation
- New module for backwards error propagation of tracks (Geant4e).
Event
- Fixed normalisation of source intensities with multiple sources in
G4GeneralParticleSource::IntensityNormalization().
- Removed classes using old biasing/scoring scheme: G4ScoreTable,
G4Scorer.
General Processes
- Biasing
- New module for process-based biasing.
- Migrated classes from processes/scoring and
transportation modules.
- Cuts
- Fix in G4VRangeToEnergyConverter::convert(), range-energy
conversion, correcting artifact observed in the visible energy plot
over range-cut, where a jump in the distribution was evident.
The correction can influence the result only for the tests, where
the e+/e- energy cuts are below 30 keV and even
in this case the change in results should be small.
- Fix in G4ProductionCutsTable::CheckMaterialCutsCoupleInfo().
- Management
- Added PreparePhysicsTable() method in
G4WrapperProcess.
- Optical
- Use call to G4GeometryTolerance instead of
kCarTolerance constant in G4OpBoundaryProcess.
- Parameterisation
- Removed classes implementing old interface to fast-simulation manager
process and setting of parallel world:
G4FastSimulationManagerProcess81,
G4FlavoredParallelWorld and G4GFSManager81.
- Scoring
- Moved biasing classes and tests into processes/biasing
module.
- Fixed bug in G4ScoreProcess which didn't get applied to
non-parallel geometries.
- Transportation
- G4CoupledTransportation: make treatment of mass and full
safety coherent. Added storing of full safety in state; retrieve it
after compute step from G4PathFinder; calculate them same
way at start of step.
- Use call to G4GeometryTolerance instead of
kCarTolerance constant in G4VTrackTerminator.
- Archived classes for old biasing scheme, now replaced in module
processes/biasing. Removed classes:
G4MImportanceConfigurator, G4MScoreConfigurator,
G4MScoreProcess, G4MWeightWindowConfigurator,
G4MassGCellFinder, G4MassGeometrySampler,
G4MassImportanceProcess, G4MassWeightWindowProcess,
G4PImportanceConfigurator, G4PScoreConfigurator,
G4PScoreProcess, G4PWeightWindowConfigurator,
G4ParallelGCellFinder, G4ParallelGeometrySampler,
G4ParallelImportanceProcess, G4ParallelTransport,
G4ParallelTransportConfigurator,
G4ParallelWWnTransportProcess,
G4ParallelWeightWindowProcess, G4PlaceOfAction,
G4ProcessPlacer, G4SamplingPostStepAction,
G4VProcessPlacer, G4VSampler,
G4VSamplerConfigurator,
G4WeightCutOffConfigurator.
Geometry
- Use call to G4GeometryTolerance instead of kCarTolerance,
kAngTolerance and kRadTolerance constants where
necessary.
- Biasing
- Removed classes from old biasing scheme. These are now replaced by
either G4CoupledTransportation (parallel navigation) or in
processes/biasing module. In addition the scoring is
implemented with the new scoring framework (in digits_hits
and processes/scoring modules).
The following classes are removed: G4ParallelNavigator,
G4ParallelStepper, G4ParallelWorld,
G4VParallelStepper, G4VPGeoDriver,
G4VScorer, G4ImportanceSplitExaminer,
G4VImportanceSplitExaminer, G4VWeightWindowExaminer,
G4WeightWindowExaminer.
- Magnetic field
- New class G4HelixMixedStepper, mixing helical stepper and
Runge-Kutta G4MagHelicalStepper.
- New calculation of DistChord() for
SteppingAngle>pi in G4RKG3Stepper.
- Relaxed fatal exception to warning in
G4PropagatorInField::AccurateAdvance() for case of step zero
and return previous value. This fixes problem observed by ATLAS in
release 8.3 when using very conservative values for field
parameters.
- Introduced new class G4ErrorMag_UsualEqRhs used to reverse
the magnetic field when propagation is backwards for error
propagation.
- Management
- Introduced new classes for handling error propagation:
G4ErrorTarget, G4ErrorSurfaceTarget,
G4ErrorTanPlaneTarget, G4ErrorPlaneSurfaceTarget
and G4ErrorCylSurfaceTarget.
- G4Region may have assigned a regional user stepping action.
This local action is invoked after the global user stepping action
which is set to G4RunManager.
- Navigation
- G4SafetyHelper can now be accessed via
G4TransportationManager. Depending on type of navigation
(single world or multiple navigation) it uses mass navigator or
G4PathFinder. All calls from EM processes to geometry are
provided by G4SafetyHelper. Initialisation of the class is
done in G4TransportationManager and G4PathFinder.
- G4Navigator: added new method CheckNextStep(), which
makes a trial step, without changing the state of the navigator. It's
a variant of ComputeStep(), whose signature it shares.
- Fixed bug in G4GeomTestSegment in case of point on the
surface, reducing cases of reported spurious overlaps.
- G4PropagatorInField: modified ReEstimateNewPoint()
in order to handle cases with zero step.
- Introduced new class G4ErrorPropagationNavigator, a
specialised navigator for performing double navigation in the
detector geometry and on the target surface for error propagation.
- Added method CheckPointExiting() in
G4AuxiliaryNavServices utility class.
- Solids (CSG)
- G4Tubs, G4Cons: fixed bug for
DistanceToOut(p,v) for phi section.
The bug was causing segmentation fault in
recursive_test (problem report #784).
- Solids (Specific)
- Fixed default response of DistToIn/DistToOut for twisted
solids.
Global
- Added G4GeometryTolerance singleton class for the definition of
tunable geometrical tolerances. The Cartesian tolerance can either be set
to a fixed value (kCarTolerance=1E-9 mm) or to a value computed
on the basis of the maximum extent of the world volume assigned through
the G4GeometryManager at the beginning of the application
and -before- any geometrical object is created.
- Old static constants kCarTolerance, kRadTolerance
and kAngTolerance have been removed.
- Added new class G4SimplexDownhill in HEPNumerics module:
a Simplex method for function minimization.
- Introduced new utility class G4ErrorPropagatorData to provide
access to mode, state, target and manager verbosity for the error
propagation classes.
- Fixed bug in G4LPhysicsVector constructor: initialise vectors of
length=nbin+1 (one bin is hidden for users).
Addresses problem report #942.
- Changed date for release 9.0.
Graphical Representations
- G4AttDefStore: now comprises utility functions in namespace.
- G4AttHolder: Made copy constructor and assignment private to
enforce proper usage. Replaced forward declarations in header with
explicit inclusions.
Hadronic Processes
- Cross sections
- G4GlauberGribovCrossSection: added new methods
GetRatioSD() and GetRatioQE() allowing for
retrieving qe/in and sd/in ratios.
- G4HadronNucleonXsc: added new method
GetHadronNucleonXscMK() to get hadron-nucleon cross
section.
- Fix for non-initialised total cross section for pi-
in G4PiNuclearCrossSection.
- Fixed memory leak at initialisation in classes
G4ElectroNuclearCrossSection and
G4PhotoNuclearCrossSection.
- G4HadronCrossSections: replaced PSIZE with
NPARTS to avoid name conflict with SDK Windows
environment.
- Management
- G4HadronicProcess:
- In method FillTotalResult() partly remove spurious peak
at 90 degrees by using different G4DynamicParticle
constructor and prohibiting kinetic energy from being exactly
zero.
- Changed default for isotope production to off to fix a memory
leak. Fixed memory leak at initialisation. Removed effective
charge calculation.
- Binary Cascade
- G4BinaryLightIonReaction: added protection against divide
by 0 when energy momentum correction stalls.
- Cascade
- First implementation of interfaces for pre-equilibrium model and
equilibrium evaporation model.
- Chiral Invariant Phase Space (CHIPS)
- More accurate initialization of dZ, dN, dS (dense area) in
G4QNucleus.
- Elastic cross-section for low energy neutrons upgraded and tuned in
G4QElasticCrossSection. High energy, heavy nuclei nA
correction.
- Memory leak fix in G4StringChipsParticleLevelInterface,
G4QuasiFreeRatios and G4QElasticCrossSection.
- First implementation of the G4QDiffractionRatio class.
- First implementation of the charge-exchange: coherent in the new
process G4QCoherentChargeExchange and incoherent as an
extention of the G4QuasiFreeRatios.
- De-excitation
- Fixed bug in G4ExcitationHandler caused by attempt to
access deleted pointers and iterators. Now a final state iterator
list is created and filled only when necessary.
- Fixed bug in low A,Z false condition in G4DiscreteGammaDeexcitation.
- Elastic scattering
- G4ElasticHadrNucleusHE: optimised computation of tables.
Fixed compilation of nuclear parameters for heavy nucleus (A
&ft;100). General cleanup and redesign of private methods.
- Added model names to constructors in G4LEnp, G4LEpp,
G4ChargeExchange, G4HadronElastic and
G4ElasticHadrNucleusHE.
- G4HadronElastic: use QElasticCrossSection for
p, n incident for any energy and any target; use
HElastic for mesons only.
- G4UHadronElasticProcess: use true flag calling
CHIPS to compute cross section.
- New class G4DiffuseElastic, new model for elastic scattering.
- High precision Neutron
- Try to limit sum of secondary photons energy while keeping
distributions in G4NeutronHPPhotonDist.
- Renamed variable NeutronHPCrossSections to
G4NEUTRONHPDATA for the path definition to the G4NDL data
library.
- Added possibility to neglet Doppler broadening mode to boost
performance in G4NeutronHPElasticData,
G4NeutronHPInelasticData and G4NeutronHPCaptureData,
by using the environment variable G4NEUTRONHP_NEGLECT_DOPPLER.
- Added environment variable G4NEUTRONHP_SKIP_MISSING_ISOTOPES
which will force the use of the exact isotope file and set the cross
section to zero and print a warning if the file is not found.
Modified method of searching substitute isotope data in
G4NeutronHPNames.
- Added G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION
flag in G4NeutronHPCaptureFS.
- Bug fixes for Valgrind run-time errors and NaNs. Fixes for memory
leaks.
- LLNL Fission
- New module for Livermore LLNL neutron-induced and spontaneous fission
model is now available. Model class G4FissLib must be instantiated
and assigned to G4HadronFissionProcess. Pointer to G4NDL is required
as in high precision neutron models.
- Parton String
- Separate G4DiffractiveExcitation for FTF from QGS.
Added original G4DiffractiveExcitation to qgsm as
G4QGSDiffractiveExcitation. Moved
G4SingleDiffractiveExcitation class from management
to qgsm module.
- Radioactive Decay
- Minor fix to remove compilation warnings on Windows in
G4RIsotopeTable and G4RadioactiveDecay.
- Utils
- Removed unused classes G4Fuzzy, G4EffectiveCharge
and G4ParticleVector.
- Three bug fixes in G4ReactionDynamics::TwoCluster(): removed
a sharp peak at 180 degrees by fixing a units error and fixed an error
in sampling the momentum transfer. Fixed array bound violation which
caused in some rare occasions an infinite loop.
Interfaces
- Implemented signal handler for soft-abort in G4UIterminal.
Materials
- Added implementation file for G4SurfaceProperty.
- Added static G4SurfacePropertyTable to G4MaterialTable.
- Added exception to SetGROUPVEL() when E_photon<<=0.
- G4NistManager and G4NistElementBuilder: added
GetNistFirstIsotopeN() and GetNumberOfNistIsotopes()
methods.
- G4NistElementBuilder: added protection
(Z>=limitNumElements) inside BuildElement() on Mokka
request.
- G4SandiaTable: fixed deletion of elements of the table in
destructor and non-initilised pointer in constructor. Use G4 native
types.
Particles
- Added magnetic moment in G4ParticleDefinition,
G4DynamicParticle and G4IsotopeProperty. Updated
magnetic moment for leptons. Added G4IsotopeMagneticMomentTable
and data file.
- Allow for registration of several isotope property table in
G4IonTable.
- Allow for any Z,A combination (A>=Z) for
G4IonTable::GetIon().
- Added deletion of IsotopeTableList in G4IonTable
destructor.
- Fix in G4PDGCodeChecker::GetQuarkFlavor().
Physics lists
- In QBBC list, use consistent cross sections for elastic and inelastic.
- Activated quasi-elastic for FTF lists.
Lower threshold for FTF: FTF starts
at 4.0 GeV, overlaps with LEP up to 5.0 GeV.
- Added G4QEmExtraPhysics for gamma, e+-, mu+- nuclear
CHIPS.
- Removed obsolete physics lists LHEP_HP, QGSP_HP, LHEP_BIC, LHEP_BIC_HP
and LHEP_PRECO. Removed physics lists using Mars leading
particle classes (*LEAD*).
- Removed obsolete G4EmStandardPhysics72 and
G4EmStandardPhysics71; using new commands for
G4EmStandardPhysics_option1,2.
- QGSP_BIC_HP is no longer experimental.
- Removed definition of name of EM constructor, now name of EM constructor
defined inside the constructor itself.
- Incremented version number.
Run
- G4VUserDetectorConstruction class now has access methods to the
parallel worlds.
- Fix against accessing to the world logical volume that had already been
deleted.
- Fixed memory leak in G4VUserPhysicsList and
G4VModularPhysicsList.
- Fixed the name of random number status file.
- Fixed case of segmentation fault with stacking events; addressing
problem report #951.
- In G4RunManagerKernel, UpdateRegion() method now
internally invokes CheckRegions() method to make sure all
region information are updated.
Track & Tracking
- Fixed weight treatment in G4ParticleChange.
- Added non-ionizing energy deposit in G4Step and
G4VParticleChange.
- Added magnetic moment in G4DynamicParticle.
Visualization
- Management
- Added command /vis/viewer/set/picking.
Picking is false by default, except for OpenInventor.
- Removed G4GAGTree class.
- Removed /vis/scene/add/eventID command from
/vis/drawVolume.
- Improved error trapping and bug fix.
- Bug fix for zero pointer in G4VscenHamdler::LoadAtts().
Modeling
- Added further information on volume G4Atts.
- Added solid dump and volume transformation to G4Atts.
- Simplified G4Atts for Physical Volume path.
HepRep
- Fixed memory leak in G4HepRepFile.
OpenGL
- Implemented picking for OGLIX.
- Some reorganisation of display list construction to fix rare bug
in Display-by-Time feature.
- Fixed some compilation warnings.
- implemented picking for OGLSX (as well as OGLIX).
- /vis/ogl/printEPS should work for all viewers.
- Improved error trapping and bug fixes.
OpenInventor
- Picking is true by default.
- Added scale factor to list of changes requiring kernel visit,
and some rationalisation.
RayTracer
- Fixed memory leak at initialisation.
ASCIITree
Environments
- g4py: implemented software abort by <Ctrl-C>.
Data sets
- New data for neutron cross-sections, G4NDL.3.11:
- Added Germanium data and Silver data.
- Added Special file 0_0_Zero which give 0 cross section
over all energy range.
- New low-energy data set, G4EMLOW.4.3:
- Added auger file au-tr-pr-100.dat.
- New data set for radioactive-decay, G4RadioactiveDecay.3.2:
Examples
- Updated reference outputs.
- advanced
- brachytherapy
- Few improvements resulting from code review. No functionality
changes.
- cosmicray_charging
- Fixed compilation problem in physics-list.
- hadrontherapy
- Geometry upgrade (hadrontherapyBeamLine class) according to the
experimental CATANA proton therapy beam line.
- Improved the modulator geometry and fixed a bug on its
rotation.
- Physics component redesigned and reimplemented as a result
of code review.
- human_phantom
- Corrected bug in MIRDLeftBreast and MIRDRightBreast.
- Introduced voxel Left/Right breast, VoxelBreastSensitive
detector and PhantomHeadBuilder.
- Introduced Left and Right Adrenals and Scapulae.
- Minor correction to documentation.
- radioprotection
- Correction to documentation.
- underground_physics
- Migrated to new interface for SetMscStepLimitation(fMinimal)
in DMXPhysicsList.
- Changed to hIonisation from hLowEnergyIonisation.
- Tiara
- Currently not supported and not migrated to new python, scoring
or biasing.
- extended
- analysis/N03Con
- New example showing how to apply convergence test in simulation.
- biasing
- Migrated example B01 and B02 to new biasing/scoring scheme.
- Removed B03 (redundant/obsolete use of Python).
- electromagnetic/TestEm1
- Use G4EmProcessOptions to define bremsstrahlung threshold
energy.
- Completed PhysListEmStandard options and added new input
macro for e-.
- Make visualization only in interactive mode.
- electromagnetic/TestEm2
- Completed PhysListEmStandard options.
- Updated main input macro file; use visualisation only for
interactive session.
- electromagnetic/TestEm3
- Use renamed EM builders and update macro files.
- More options in PhysListEmStandard.
- electromagnetic/TestEm5
- electromagnetic/TestEm7
- Fixed bug in standardSS Physics Lists.
- Added EM builders from physics_lists library.
- Added output of mean number of primary steps and kaon+
run in main input macro.
- electromagnetic/TestEm9
- Use standard names for histograms and updated macro files.
- Substituted 'autoptr' by normal pointers in Histo to avoid
crash.
- Use renamed EM builders, and emstandard_opt1 EM physics in
TestEm9.in.
- Extended reference output: showing both mean/RMS values and
truncated mean/RMS.
- errorpropagation
- New example illustrating the use of the error propagation utility.
A G4ErrorFreeTrajState is created to simulate a muon track
of 20 GeV along the X axis. Then the track is propagated
until the target is reached.
- field
- Removed un-necessary initialisation of
G4FastSimulationManagerProcess from setup.
- hadronic/Hadr01
- Physics List updated according to recent changes in hadronics and
physics_lists packages.
- Substituted usage of autoptr by normal pointers in Histo
to avoid crash.
- Added histogram on total energy deposit in the target.
- Use renamed EM builders G4EmStandardPhysics_option1 and
G4EmStandardPhysics_option2.
- medical/fanoCavity
- Updated to follow change of interface of
G4VEmModel::SampleSecondaries().
- Updated EM options.
- medical/Gammatherapy
- Use renamed EM physics-list components from physics_lists
module.
- Substituted usage of autoptr by normal pointers in Histo
to avoid crash.
- Fixed singleton GetPointer() method.
- parameterisation/gflash
- Updated physics-list: register the fast simulation process as a
discrete process.
- runAndEvent
- Fixed indexing scheme of GetIndex() method in the scorers.
- novice
- N02
- Show usage of G4GeometryTolerance tuned for the geometry
topology.
- N03
- Changed visTutor/exN03Vis12 and visTutor/exN03Vis13
macros, following change to /vis/ogl/printEPS command.
- Increased verbosity in rndmSeed input macro.
- N04
- Delete materials and elements when quitting application.
- N05
- Migrated to new parallel geometry scheme.
- Added vis.mac macro.
- N07
- Introduced ExN07ParallelWorld and related modifications.
- Modified vis.mac to allow for visualization of the
parallel world.