Geant4 9.4 Release Notes
The code and binary libraries for the supported systems are available
through our Source
Code Web page.
We are grateful for the efforts of Geant4 users who have provided
detailed feedback or comprehensive reports of issues.
We thank in particular those who have contributed corrections,
improvements or developments included in this release.
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
Officially tested platforms:
- Linux, gcc-4.1.2 and gcc-4.3.2 (SLC5).
Tested on 32 and 64 bit architectures (Intel or AMD) with
Scientific Linux CERN 5 (SLC5) (based on RedHat Linux Enterprise 5).
- MacOSX 10.6 with gcc-4.2.1
- Windows/XP and CygWin Tools with: Visual C++ 9.0 (Visual Studio 2008)
More verified configurations:
- Linux, gcc-4.5.1, gcc-3.4.6 (SLC4)
- Linux, Intel-icc 11.1
Platforms configured but neither tested nor 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
- MacOSX 10.4, gcc-3.3
- MacOSX 10.5, gcc-4.0.1
- SGI V6.5.5, CC 7.2.1
- SUN Solaris 5.8, C++ CC-5.5.
2. CLHEP and AIDA
This release of Geant4 has been verified with
CLHEP, release 2.1.0.1.
Use of a different CLHEP version may cause incorrect simulation results.
Most Geant4 9.4 examples with histogramming co-work with analysis tools
compliant to AIDA 3.2.1 interfaces (for details, see
Appendix 2
of the
Users Guide for Application Developers).
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 users of advanced
Geant4 features) in order to upgrade from release 9.3 to release 9.4.
Note that for all users a full re-installation of libraries (or a full
recompilation) and a recompilation of user applications is required.
Standard Electromagnetic physics
- Changed default multiple scattering models to G4UrbanMscModel93
for electrons and positron, G4WentzelVIModel for muons.
G4UrbanMscModel90 remains the choice for other particles.
- Removed obsolete classes G4MultipleScattering, G4UrbanMscModel and
G4UrbanMscModel2. The use of multiple scattering processes
specialised by particle type (G4eMultipleScattering, G4hMultipleScattering
and G4MuMultipleScattering) is now mandatory.
Low Energy Electromagnetic physics
- The Geant4-DNA G4DNAEmfietzoglouExcitationModel class for the modeling of
electron excitation in liquid water is obsolete and should be replaced
by the G4DNABornExcitationModel class.
Persistency
- GDML: to better match the schema definition, a correction to the 'value'
type from double to string has been made for the
auxiliary-information returned by G4GDMLParser. This may require
related change in the user code, where the auxiliary information feature
is used.
Physics Lists
- Previously obsolete physics lists have been deleted, for the detailed
list please see below.
- Introduced new constructor for all builders with a common signature.
Previous constructors are kept for this release, but are declared obsolete.
They will be removed in a future release.
Visualization
- The visualization trajectory modeling command
/vis/modeling/trajectories/create/drawByParticleID
used to default all trajectories to grey, with the user having to
explicitly set any other color code. While the user can still set any
wished color code, the default has been improved to:
[e-/red; e+/blue; proton/cyan; gamma/green; neutron/yellow;
pi+,pi-,pi0/magenta; other/grey].
- In some examples, visualization that used to draw trajectories as simple
lines now also draws step points. Users who wish to disable step point
drawing can do so by commenting out a line in the visualization macro.
Data Sets
This release introduces new data sets and also new versions.
Please see the corresponding details in
Section 10 of this document.
- G4NEUTRONXS-1.0, new data set for evaluated neutron cross-section data
on natural composition of elements (controlled by variable
G4NEUTRONXSDATA).
- G4PII-1.2, new data set for shell ionisation cross-sections (controlled
by variable G4PIIDATA).
- New data set versions: G4EMLOW.6.19, G4RadioactiveDecay.3.3,
G4PhotonEvaporation.2.1, G4NDL.3.14.
4. New Developments and Capabilities
Geometry
- It is now possible to introduce gaps between slices in divisions,
by making use of a new specialised physical-volume type,
G4ReplicatedSlice for defining the divided daughter volumes.
- In regular voxelised geometries, the restriction for voxels to completely
fill the envelope container is now relaxed. It is now allowed to define
envelopes of different types other than box for regular geometries,
by making use of a new parameterisation helper class
G4PartialPhantomParameterisation.
- A new specific shape, G4GenericTrap, is now implemented.
This new solid represents an arbitrary trapezoid with up to 8 vertices
standing on two parallel planes perpendicular to the Z axis.
Detector description persistency
- Introduced new UI commands from the GDML parser to allow for importing and
exporting GDML files through macros or interactively, supporting all
various options provided by the parser.
Digitization & Hits
- Cylindrical scoring mesh is now fully released.
- Most of primitive scorers now take their default units, and units may
by altered by their UI commands. These units are used for drawing and
dumping the scores.
Standard Electromagnetic physics
- New model G4ICRU73QOModel is available
for low-energy ionisation of negative-charge projectiles
(including anti-ions); it is based on ICRU'73 data for oscillator strengths;
this model is the default for negative-charge particles in G4hIonisation process class.
- Improved modeling of fluctuations in energy deposition, relevant for
deposit in gasses and silicon. Increases stability when step size changes.
- New model of single scattering and NIEL for ions
G4IonCoulombScatteringModel is available; the model is applicable
from 50 keV to 100 TeV.
- New ionisation models G4BraggIonGasModel,
G4BetheBlochIonGasModel are available for simulation of ion
transport in low density media, e.g. in vacuum.
The ion charge of a particle is not changed by these models.
- The default angular distribution of gamma in the Bremsstrahlung process
can be substituted by alternative model in physics-list.
- Fluorescence and Auger electron production can be activated via UI commands,
using the new models G4PEEffectFluoModel and G4KleinNishinaModel.
- Disabled usage of minimum energy threshold per model. As a result the
production threshold is defined only by range (converted to energy in each
material). It remains constrained by the minimum limit defined in 'cut' category.
This change is necessary to allow the full set of combinations of models
in a process.
Low Energy Electromagnetic physics
- Photon Livermore models:
first implementation of pair production in the electric field of the
electron. The G4BoldyshevTripletModel should be used in
conjunction with the G4LivermoreNuclearGammaConversionModel
model (using G4MultiModel) in order not to account twice
for the pair production cross section in the electron field.
- Electron Livermore models:
G4LivermoreIonisationModel is able to generate fluorescence
along the step. Addressing problem report
#1141.
- Penelope models:
added four new models (gamma ray models: Compton, GammaConversion,
PhotoElectric and Rayleigh). Upgrades of Penelope from version 2001 to
version 2008, named as G4Penelope08xxxxModel. To be considered
as beta.
- For all low energy EM models: no customized production cuts are allowed
anymore for fluorescence/Auger.
Main cuts from the G4ProductionCutsTable are always used, for
consistency.
- Geant4-DNA (in liquid water):
- New process and model classes for electron attachment and vibrational
excitation.
- New electronic excitation model for electrons.
- Extended very low energy coverage of Champion's electron elastic
scattering.
- New excitation model for neutral hydrogen.
- Preliminary new ionization models for C, N, O and Fe.
To be considered as beta.
- Multi-scale combination of Geant4-DNA discrete processes with Standard
or low energy EM physics processes adopting the unified software
approach of both EM physics sub-categories (see the
microdosimetry advanced example for illustration).
Hadronic physics
- Hadronic interfaces now require integer Z and A arguments. Elements or
materials with effective or average values of Z and A are no longer
allowed.
- Quark exchange, Reggeon cascade and nuclear destruction parameters in the FTF
model were tuned. Tuning of the nuclear destruction parameters was based on
HARP-CDP data. Low mass string fragmentation was improved.
- The Bertini cascade model was re-written to employ more code re-use, improve
memory management, and provide better energy/momentum conservation. Angular
distributions of the two-body final states of hadron-nucleon interactions were
redone and improved.
An optional interface to the G4Precompound model (and the associated
de-excitation processes) is now available; this is an alternative to the
dedicated de-excitation which has been used until now.
- Anti-baryon-nucleon elastic scattering was added to the CHIPS model.
- Fermi breakup was extended to include fragments with 1 < A < 5 .
Several improvements were made to bring the model closer to the original
one of Botvina. Use hybrid of Fermi breakup and GEM models for
A < 20. Several other improvements were made to the evaporation
models. A README file was added explaining the photo-evaporation data
files.
- New, fast models and cross sections for neutron elastic, inelastic and capture
are now available: G4NeutronElasticXS, G4NeutronInelasticXS and
G4NeutronCaptureXS.
- An isomer decay table was added to extend the number of existing isomers in the
radioactive decay model. All of them will be decayed by isomeric transition
(IT). A README file was added to explain the radioactive decay data files.
- RQMD (relativistic quantum molecular dynamics) code was enabled in the QMD
model to allow treatment of higher collision energies.
- A new model, G4NuclNuclDiffuseElastic is now available for
nucleus-nucleus elastic scattering.
- A new class G4ComponentAntiNuclNuclearXS provides
the total elastic and inelastic cross sections of anti-nucleon
and anti-nucleus interactions with nuclei.
These were calculated using the Glauber approach.
- All hadronic processes now check to see if the cross section has become negative
at the end of a step, before invoking the model.
- Checking of Energy/momentum conservation is available in the hadronic
process class. Methods can set the theshold level for reporting
and the verbosity of the output.
Physics Lists
- New physics lists QGSP_BERT_CHIPS and Shielding, details are described below.
- Improved inelastic hadronic cross section at high energies, above 90 GeV,
in all QGS.. and FTF.. lists.
- Improved cross sections for Kaon, and all "misc" particles, including
anti-proton, anti-neutron, and hyperons in FTFP_BERT, QGSP_FTFP_BERT, and the
two new physics lists QGSP_BERT_CHIPS and Shielding.
- Use G4UrbanMscModel93 by default for e+,e- in all EM physics
builders except G4EmLivermorePhysics and G4EmPenelopePhysics
where new G4GoudsmitSaundersonMscModel is used.
- G4WentzelVIModel93 and G4CoulombScattering are
used by default for mu+,mu- in all builders.
- In G4EmStandardPhysics_option2 for small angle multiple scattering
G4WentzelVIModel93 is used for protons, pions, and kaons;
for angular distribution of bremmstrahlung gamma G4GeneratorBS
is applied.
- Improved G4EmConfigurator class, to define alternative models by particle
type, energy range, and detector region.
Can be used to choose configuration EM models before or after the EM physics
has been instantiated.
5. Expected effects on physics and performance
Standard Electromagnetic physics and cuts
- Small increase of visible energy deposition in sampling calorimeters
(e.g. 0.5% for a simplified setup with materials of the ATLAS EM barrel calorimeter)
due to improvements in the multiple scattering model.
- Improved tails of energy deposition in thin absorbers.
Hadronic physics
- Improved treatment of low mass strings in the FTF model allows the model
to be used at lower energies and provides a smoother transition in energy
response in the region where string models give way to cascade models.
- Improved memory management in the Bertini cascade model results in a
10-fold reduction of object creation and destruction. The model also
conserves energy and momentum better.
- Fermi Break-up Model and GEM evaporation are used by default providing
improved production of light fragments in nuclear fragmentation at low
energy.
- Improved spectra of nuclear gamma deexcitation including Doppler
broadening simulation.
- Fast neutron cross-sections can provide significant CPU savings for
applications which need accurate simulation of neutrons below 20 MeV.
- Materials defined with an effective Z or A can no longer be used
with hadronic processes.
6. Known Run-Time Problems and Limitations
For a complete list of outstanding run-time problems and to submit any
problem you may find while running this version of Geant4, please refer
to the
Geant4 Problem
Reporting System.
7. Compilation Warnings
There may be a few compilation warnings on some platforms.
We do not believe that any of these lead to incorrect run-time behaviour.
8. Known Run-Time Warnings
The following message may 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 being abandoned due to being stuck at geometrical boundaries.
In case either of these reported energies is significant, we recommend
increasing the verbosity of G4Transportation to obtain information for
each track killed. A user can change the threshold energy above which particles
are killed more reluctantly (only after significant additional effort) using
the method SetThresholdImportantEnergy() of G4Transportation.
The default value is 100 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
- Configure script:
- Updated scripts for Configure, to allow for parallel builds.
- Added new data sets G4NEUTRONXS (Evaluated neutron cross
section data, version 1.0), controlled by variable G4NEUTRONXSDATA,
and G4PII (shell ionization cross section data, version 1.2),
controlled by variable G4PIIDATA.
- Added new versions of data sets for G4EMLOW.6.19, G4RadioactiveDecay.3.3,
G4PhotonEvaporation.2.1, G4NDL.3.14.
- cmake:
- First 'alpha' version of a new build infrastructure based on CMake
(see http://www.cmake.org/).
Added scripts and file catalogues to all source modules.
- Removed 'leading_particle' hadronic module from include paths list.
- Added obj make target to globlib.gmk to allow for
creation of object files only.
- Removed obsolete Qt3 setup for Darwin-g++, Linux-g++ and
WIN32-VC.
- Darwin-g++.gmk: corrected and simplified Qt setup for use of
Native OpenGL.
- Fixed linking options for shared libraries in Linux-icc.gmk.
- Corrected definition of LDFLAGS in binmake.gmk to
avoid occasional fatal clashes with settings in user's environment.
Added include paths to new modules and cleaned obsolete paths.
- Replaced use of strcat() with more secure strncat()
in liblist.c, and protected uses of strcpy().
Digitization & Hits
- Cylindrical scoring mesh is now fully released.
- Improved some UI commands for defining scorers.
- Fixed signature in G4VPrimitiveScorer for Set/GetUnit()
methods.
Electromagnetic Processes
- Adjoint
- G4AdjointBremsstrahlungModel: use G4EmModelManager for
proper initialization. G4eBremsstrahlungModel is used as forward
model. Fixing cases of floating point exceptions.
- G4AdjointhIonisation: removed negative term in the expression
of the adjoint cross-section (AdjointCrossSection() method) and
adapted method RapidSampleSecondaries().
- G4VEmAdjointModel: added a check on null cross section to
avoid FPE.
- High Energy
- New model G4ICRU73NoDeltaModel
derived from G4ICRU73QOModel.
- Added new G4mplIonisationWithDeltaModel for ionization of monopoles,
to be used in the G4mplIonisation process class as a default model;
this enables delta-ray production, which is needed by ATLAS and CMS.
- Fixed defects reported by Coverity tool, mainly related to initialization
of static data.
- Low Energy
- Added four new models (gamma ray models Compton, GammaConversion,
PhotoElectric, Rayleigh), upgrades of G4Penelope ionisation
and Bremsstrahlung for e+/e- to version 2008.
- Added MinEnergyCut() method to G4PenelopeIonisationModel.
Small (minor) changes to other Penelope models (mainly clean-up).
Removed useless call in G4PenelopeIonisationModel which
triggered fake warning messages.
- Added class G4PenelopeCrossSection to store/handle cross
sections (and higher momenta, like stopping powers) for Penelope
models.
- New G4PenelopeOscillator* classes to manage
multi-element atomic oscillators used in Penelope Compton and
Ionisation models. Compliant with Penelope-2008.
- Added dummy method ComputeCrossSectionPerAtom() in
G4PenelopeRayleighModel, never inkoved in tracking and
issuing a warning if users access it via G4EmCalculator.
- Updated public interface of G4LivermorePhotoElectricModel.
Removed possibility to use custom cuts for fluorescence/Auger.
Main cuts from G4ProductionCutsTable are always used, for
consistency.
- Updated G4LivermoreIonisationModel to produce fluorescence
AlongStep only if above the production cuts. Stricter check for energy
conservation.
- Bug fix in G4LivermoreIonisation and in
G4LivermorePolarizedPhotoElectricModel.
- New models G4BoldyshevTripletModel, G4LivermoreGammaConversionModelRC,
and G4LivermoreNuclearGammaConversionModel.
- G4LivermorePolarizedGammaConversionModel: fixed element
selection and initialisation.
- Clean-up in Penelope models; explicitely set Auger flag to false in
constructor. Addressed Coverity reports for Penelope/Livermore
processes.
- Geant4-DNA processes and models:
- New excitation model for electrons in G4DNABornExcitationModel
and for H.
- Added new G4DNA processes and e- models for vibrational and attachment
as in: Z. Francis et al., Appl. Radiat. Isot. 69 (2011) 220-226.
- Extended low energy coverage of G4DNA electron models.
- New preliminary Geant4-DNA ionisation class for ions to be used
with new data set, G4LEDATA-6.19.
- Corrected G4DNABornIonisationModel for maximum kinetic
energy transfer.
- Modified method declaration in G4DNABornExcitation.
Modified electron correction in G4DNAMillerGreenExcitation.
- Extended search range for maximum of DCS in
G4DNARuddIonisationModel.
- Changed default parameters in G4DNAEmfietzoglouExcitationModel.
Modified initialisation of e- Emfietzoglou excitation model to fix
memory leaks.
- Changed computation of scattering angle in
G4DNAChampionElasticModel.
- Replaced hard coded masses in G4DNADingfelderCharge*
classes.
- Updated & extended Rudd and Miller & Green models. Adapted all high
energy limits of G4DNA electron models.
- Changed low energy limit of G4DNA elastic scattering models for e-.
Switched default excitation model for e- to Born.
- Set high energy limit of G4DNAScreenedRutherfordModel to 1 MeV
and decreased low energy limit.
- Updated high energy limits of G4DNAExcitation and G4DNAIonisation.
Added protection in xs file opening for G4DNA Sanche excitation.
- Restricted momentum conservation to electrons in G4DNA ionisation.
- Added new control of low energy limit of G4DNA e- models.
Energy ranges adapted accordingly.
- Fixed initialisation order in some models' constructor to fix Valgrind
run-time errors reports.
- Fixed bugs in G4AtomicDeexcitation and G4AugerTransition.
- New PIXE developments:
- G4ecpssrKCrossSection and G4ecpssrLiCrossSection
classes: these classes substitute the G4ecpssrCrossSection
class, fixing existing bugs and improving the goodness of the
results especially at higher energies.
- G4empCrossSection and G4teoCrossSection classes:
classes deriving from G4VhShellCrossSection and providing
the interface to empirical ionization cross sections (Orlic for L
shells and Paul for K).
- G4hShellCrossSection, G4hShellCrossSectionDoubleExp,
G4hShellCrossSectionDoubleExpData, G4hShellCrossSectionExp,
G4hShellCrossSectionExpData classes are now discontinued.
- G4hLowEnergyIonisation has been updated to follow the new
design and let the user chose which model to use for the calculation
of shell ionization cross section through the method
SelectShellIonisationCS().
Dependencies on old methods for cross section calculation have
been removed.
- Changed default parametersa and fixed units management.
- Bugs fixes in G4OrlicLiCrossSection and
G4PaulKCrossSection.
- Fix in G4AugerTransition to cure crash on Windows.
- Added missing virtual destructors where necessary.
- Corrected return value case in method GetPhotoElectronDirection()
in G4PhotoElectricAngularGeneratorSauterGavrila. Addressing problem
report #1120.
- New class G4UAtomicDeexcitation class, derived from
G4VAtomicDeexcitation from utils module. It will
replace G4AtomicDeexcitation class.
Updated G4hLowEnergyIonisation to it.
- Optimised computation in G4GeneratorBS and fixed comments.
Moved classes G4VBremAngularDistribution and
G4ModifiedTsai moved to utils and standard
modules respectively.
- Requires new data set G4EMLOW-6.19.
- Muons
- G4MuPairProductionModel: added sampling recoil of a primary
particle.
- G4MuIonisation: use G4ICRU73QOModel for mu-
for E< 0.2 MeV (G4BraggModel in past).
- Fixed defects reported by Coverity tool, mainly related to
initialization of static data.
- Polarisation
- Fixed signature to G4VPolarizedCrossSection::TotalXSection()
in source file.
- Fixed issues reported by the Coverity tool.
- Precise Impact Ionisation
- New module for precise impact ionisation, as described in:
M.G.Pia et al., PIXE Simulation With Geant4, IEEE-TNS, vol. 56, no. 6, pp. 3614-3649, 2009.
Requires new data set G4PIIDATA-1.2.
- Standard
- Single and multiple scattering:
- G4GoudsmitSaundersonMscModel: fixed problems of small
angle theta distributions; improved numerical stability of
computations for small angles by direct cross-section calculation;
the inverse angular sampling
is performed without large angle rejection method.
- G4GoudsmitSaundersonTable: improved numerical stability by minimum
of used arrays in computation
within the dichotomy finding method; optimized code to
improve speed by addition extra class members.
- G4eMultipleScattering, G4hMultipleScattering: improved
printout at initialisation.
- G4UrbanMscModel93: added randomization of step limit for
the first step in any volume for option UseDistanceToBoundary.
- G4WentzelVIModel: added numerical protections; added
DefineMaterial() call to the G4WentzelOKandVIxSection class
to keep conssitency of two classes in run time;
optimized method of step limitation;
added usage of geometry factor and the option
UseDistanceToBoundary.
- G4WentzelOKandVIxSection: new class to compute cross
sections and sample scattering angle in G4WentzelVIModel,
G4eCoulombScatteringModel, G4CoulombScatteringModel classes;
added momentum
dependent limit of scattering angle between single and multiple scattering
which allows to use coherently G4WentzelVIModel
with optical model of hadron scattering.
- G4eCoulombScatteringModel: fixed computation of nuclear
recoil.
- G4IonCoulombCrossSection, G4IonCoulombScatteringModel: new
model of single scattering and NIEL for ions.
- G4UrbanMscModel90, G4UrbanMscModel92, G4UrbanMscModel93:
added warning messages.
- Removed obsolete classes: G4UrbanMscModel,
G4UrbanMscModel2, G4UrbanMscModel71,
G4MultipleScattering.
- Bremsstrahlung models:
- G4eBremsstrahlungModel: fix in SelectRandomAtom()
method. Addressing problem report
#1115.
- G4eBremsstrahlungModel: reduced minThreshold
to 0.1 keV.
- Added G4ModifiedTsai class, moved from 'lowenergy' module.
- G4PairProductionRelModel, G4eBremsstrahlungRelModel: use
general interface to sample polar angular distribution with
the G4ModifiedTsai generator as a default.
- G4UniversalFluctuation: revision of width correction
providing better results for thin targets and a good tail;
fixed anomaly at the tail of distribution for thin targets.
- New class G4UniversalFluctuation93 is a backcup of original version
as in release 9.3 for G4UniversalFluctuation.
- G4ASTARStopping, G4PSTARTStopping: replaced C-arrays with
G4PhysicsVector with spline interpolation; reviewed names
of materials (G4_PHOTO_EMULSION, G4_He, G4_NYLON-6-6).
- G4WaterStopping: fixed bug in index of data for Fe ion;
cleanup in GetElectronicDEDX() method.
- G4BraggIonGasModel, G4BetheBlochIonGasModel: new ionisation
models for low density media; charge of projectile ion is not changed
by these models during tracking in contrary with the default models.
- G4BraggModel: extended validity range above 2 MeV
using ICRU'49 parameterisation for comparison purposes.
- New G4ICRU73QOModel for low-energy negatively charged
particles; it is applicable from 5 keV to 15 MeV for anti-proton.
- G4hIonisation: use new G4ICRU73QOModel for negatively
charged particles instead of G4BraggModel, which now used to be
applied for positive-charged particles only; this modification
improves simulation of Barkas effect at low energies (before the effect
was simulated precisely in G4BetheBlochModel which
is used above 2 MeV for protons/anti-protons);
the high energy limit for the new model is the same as for
G4BraggModel (2 MeV for protons/anti-protons).
- G4PAIModel, G4PAIySection: fixed a bug in G4_Ar.
- G4ionIonisation, G4alphaIonisation: removed obsolete nuclear
stopping flag and Get/Set methods (nuclear stopping is
simulated by the dedicated G4NuclearStopping process).
- G4BetheHeitlerModel, G4PairProductionRelModel: removed unused
internal table of cross section.
- G4PEEffectFluoModel, G4KleinNishinaModel: new models providing
sampling of atomic relaxations.
- Removed obsolete classes: G4ComptonScattering52,
G4PolarizedComptonScattering.
- Fixed defects reported by Coverity tool, mainly related to
initialization of static data.
- Utils
- G4VMscModel, G4VMultipleScattering: set skin=1.0 as
a default; added more detailed printout for kaon+.
- G4VMscModel: added protection in computation of the displacement
to limit it inside current volume - addressing problem report
#1128.
- G4LossTableManager: added new method GetNumberOfBinsPerDecade(),
which is used in G4VEmModel for initialisation of
G4EmElementSelector - addressing problem report
#1115;
added methods PreparePhsyicsTables(), BuildPhysicsTables(),
fixing initialisation of models via G4EmConfigurator.
- G4EmProcessOptions: removed extra initialisation code, already existing
in G4LossTableManager.
- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering: added
calls to new G4LossTableManager methods PreparePhsyicsTables()
and BuildPhysicsTables().
- Added method GetCurrentElement() in G4VEmProcess,
G4VEnergyLossProcess and G4VEmModel classes.
- G4VEmProcess: cleanup printout at initialisation for
scattering process.
- G4VEmModel: added method ChargeSquareRatio() to
access current charge of an ion; use this method in
G4VEnergyLossProcess.
- G4VEnergyLossProcess: call CorrectionsAlongStep() only
for ions (minor CPU saving); use copy constructors to reduce number of calls to
exp() for building of the cross section
table; minor optimisation in PostStepDoIt() to reduce
number of calls to log().
- G4VEnergyLossProcess: fix addressing problem report
#1141.
- G4VEmProcess, G4VEnergyLossProcess, G4VMultipleScattering,
G4VEmModel, G4EmMultiModel: replaced obsolete method
GetDefinition() of G4DynamicParticle with
GetParticleDefinition().
- G4EmCalculator: fix in GetCrossSection() method.
- G4EmElementSelector: use spline flag to construct vectors
probabilities.
- G4EmModelManager: do not use min energy cut defined by models, so
production threshold is defined only by range to energy conversion and
is limited only by low limit of energy threshold defined in 'cut'
category.
- G4EmConfigurator: fix for case of more than one model added per a
process.
- G4EmCorrections: moved G4AtomicShell header into
source; fixed computation of shell corrections
according to prescriptions of original papers; added Bichsel
approximation for Barkas corrections for the large Z > 47,
and use G4PhysicsVector instead of C-arrays; these
modifications improving energy loss computations for protons at the energies
below 10 MeV, which improving energy loss of heavy negatively
charged objects (ATLAS problem).
- G4ElectronIonPair: added method SampleNumberOfIonsAlongStep().
- G4VEmAngularDistribution: new general interface for angular distribution.
- Added class G4VBremAngularDistribution, moved from 'lowenergy'
module.
- Added G4VAtomDeexcitation: new general interface to atomic deexcitation module.
- Fixed defects reported by Coverity tool.
- Xrays
- Included scintillation rise time to G4Scintillation.
- G4Scintillation: allow for the light yield to be a function
of particle type and deposit energy in case of non-linear light emission
in scintillators. Courtesy of Zach Hartwig (Department of Nuclear
Science and Engineeering, MIT). All particles are assigned the
ELECTRONSCINTILLATIONYIELD unless the user specifies
otherwise.
- G4SynchrotronRadiationInMat, G4SynchrotronRadiation,
G4TransitionRadiation: added missing process sub-types.
Event
- Added setting of touchable history of the origin to G4Track.
- Added protection against null pointer in G4TrackStack and G4SmartTrackStack.
- Fixed incorrect destination stack in G4StackManager for the case
more than three track stacks are used.
- General Particle Source
- Added automatic energy biasing scheme. Users now can bias the energy
distribution sampling to a given power-law distribution (index alpha)
via the UI command: /gps/ene/biasAlpha alpha.
Possibility to specify arbitrary energy distribution by supplying the
data points in a 2-column (energy in MeV and flux) ASCII file,
via the UI command: /gps/hist/file [your_file_name].
- Bug fix in the Spline interpolation implementation.
- Bug fix in the logarithm interpolation implementation (alpha = -1 case).
- Added few accessors methods and implemented concrete destructor for
G4SPSEneDistribution. Addressing problem report
#1149.
General Processes
- Cuts
- Fixed possible case of memory leak in G4PhysicsTableHelper.
- Decay
- Make use of 'const' pointer to G4ParticleDefinition.
- Fixed some minor Coverity reports.
- management
- Fixed initialization of data in constructors for G4VProces,
G4ProcessTable and G4ProcessAttribute.
- Fixed cases of uninitialised data reported by Coverity.
- Optical
- Modified G4OpBoundaryProcess to call ProposeLocalEnergyDeposit()
every time a photon is in 'fStopAndKill' state because of NoRINDEX.
This will trigger scoring when a photon encounters a volume not defined
as an optical medium.
- Added Mie Scattering of Optical Photons; courtesy of Xin Qian (Kellogg
Radiation Lab of Caltech), based on work from Vlasios Vasileiou
(University of Maryland).
- Implemented Henyey-Greenstein phase functions.
- Fix for long-standing problem report #207.
- Fixed minor Coverity reports.
- Scoring
- Introduced new class G4EnergySplitter, a class to calculate
the split of energy in voxels when G4RegularNavigation is used.
It takes into account of the energy loss and multiple scattering
corrections as the particles loses energies from voxel to voxel.
- Added new G4ScoreSplittingProcess to split the length and
energy of a step in a regular structure into sub-steps, and to call
the scorers for each sub-volume.
Geometry
- Divisions
- Introducing G4ReplicatedSlice, allowing for gaps in between
divided daughter volumes.
- Magnetic field
- New class G4MonopoleEq for rhs of d(pc)/ds propagation in
field in SI units.
- Revised constructor of G4MagErrorStepper to add number of
State variables. Corrected MagErrorStepper to copy state
variable to output.
- Enabled G4ConstRK4 to copy remaining state variables.
- Management
- Added Clone() virtual method to G4VSolid, to return a
pointer to a dynamically allocated copy of the solid. To be used by
Geant4-MT. Implemented the method for all concrete solids.
- Added copy-ctr and assignment operator to G4ReflectedSolid,
now also implementing the Clone() method.
- Navigation
- Added first implementation of G4VoxelSafety, a new class for the
computation of exact safety.
- Added new class G4PartialPhantomParameterisation allowing for
envelopes of different types other than box for regular geometries, so
that relaxing the restriction for voxels to completely fill the
envelope container. Adapted G4PhantomParameterisation,
G4RegularNavigation and G4Navigator accordingly.
- Added new class G4NavigationLogger for "check-mode" verbosity.
Reorganised verbosity formatting for voxel and normal navigation.
- Increased unit value to 100 times kCarTolerance to make push
more effective in G4Navigator::ComputeStep(). Added possibility
to switch off push notifications in G4Navigator; also added
related UI command.
Added inline method for creation of a touchable-history given a
navigation history pointer as argument.
- Solids (Boolean)
- Introduced recursive algorithm in CreatePolyhedron() for Boolean
operations: it uses HepPolyhedronProcessor from 'graphics_reps' module,
using new technique in attempt to avoid numerical problems for the
calculation of the polyhedron in BooleanProcessor. It allows to try
all permutations, also for Booleans of Booleans.
Helps in reducing the number of cases of "Error in Boolean processor"
for visualization; still some stubborn cases are left.
- Simplified logic in G4UnionSolid::Inside() to exclude obvious
conditional cases.
- Implemented copy-constructor and assignment operator for concrete
solids classes to facilitate conversion to Geant4-MT.
- Solids (BREPS)
- Implemented copy-constructor and assignment operator for solids
classes to facilitate conversion to Geant4-MT.
- Fixed more cases of null pointer forward in G4BREPSolid,
G4BREPSolidPolyhedra and G4BezierSurface classes.
- Solids (CSG)
- G4Box: first implementation of speed improvements and
corrections from joint code review of G4Box class: introduced
half-tolerance constants and better logic in some conditional statements.
Some code cleanup.
- G4Orb: modified DistanceToIn(p,v) to be more
consistent with Inside(p).
- Implemented copy-constructor and assignment operator for all solids
to facilitate conversion to Geant4-MT.
- Added missing validity checks on radii to modifiers in G4Tubs.
- Fixed remaining cases of cout precision restoring in G4Sphere.
- Solids (Specific)
- Introducing new G4GenericTrap shape, a new solid representing
an arbitrary trapezoid with up to 8 vertices standing on two parallel
planes perpendicular to the Z axis.
- G4EllipticalCone: fixes in DistanceToIn(p,v) and
DistanceToOut(p,v) for correct handling of point on the
surface. Corrected formula for SurfaceNormal(p).
- Implemented copy-constructor and assignment operator for all solids
to facilitate conversion to Geant4-MT.
- Avoid possible case of derefencing null pointer in
G4ReduciblePolygon RemoveDuplicateVertices() and
RemoveRedundantVertices() methods.
- Fixed case of division by zero in G4TwistedTubs.
- More fixes on Coverity reports for classes G4TessellatedSolid
and G4ReduciblePolygon.
- Volumes
- Make use of specialized allocator for handling internal vector in
G4NavigatorHistory, globally controlling the memory pool,
to optimise memory management and reduce fragmentation.
Measured ~2% average run-time speed-up.
- G4GRSSolid, G4GRSVolume: safer initialisation in copy
constructor.
- G4PVPlacement, G4PVReplica: added fake initialisation for
all members in specialized constructor for I/O persistency. Added fake
return statements after exceptions.
- G4NavigationHistory: restored original implementation for
constructor.
Global
- Introduced G4PhysicsVectorCache, placeholder for cache R/W data
in use by G4PhysicsVector and derivates.
Modified G4PhysicsVector and G4LPhysicsFreeVector
accordingly.
- More safe numerical computation of A13() and logA() methods in G4Pow.
Added methods logfactorial() and powN() to G4Pow class.
- G4Allocator: implemented customizable pool size.
- G4UnitsTable: added new category "Solid angle".
- Fixed restoring of cout/cerr formatting in G4DataVector,
G4PhysicsVector.
- Added class G4ConvergenceTester, implementing a facility for
estimating the quality of the simulation, by providing statistical
information to assist in establishing valid confidence intervals for
Monte Carlo results.
- Fixed potential case of memory leak in G4OrderedTable::Retrieve().
- Fixed cases of tainted scalar in G4DataVector, G4OrderedTable,
G4PhysicsTable and G4PhysicsVector.
- Modified FPE handler to get correct SIGINFO data for error messages.
Added experimental code for MacOSX.
- Added dummy initialization of members in constructors where applicable.
- Changed date for release 9.4.
Graphical Representations
- Added support for new command /vis/scene/add/digits, analogous to
the already-existing /vis/scene/add/hits: added methods
Draw() and FilterDigi() for digits in
G4VVisManager; added method AddCompound()
in G4VGraphicsScene.
- Added method DispatchToModel(const G4VTrajectory&), i.e., without
i_mode, to G4VVisManager in order to distinguish usage
and in preparation for i_mode migration.
Hadronic Processes
- Implemented transition to adopt integer Z and A.
- Removed obsolete code for 'leading_particle' model.
- Cross sections
- G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS:
added path to new data set through environment variable
G4NEUTRONXSDATA; use vectors instead of C arrays; use G4HadronNucleonXsc
class and PDG parameterisation for high energy cross sections of
Hydrogen; code cleanup.
- G4UPiNuclearCrossSection: fixed memory leak at destruction.
- Updated G4GlauberGribovCrossSection for anti-protons.
- G4VComponentCrossSection: new interface for cross sections.
- G4VCrossSectionDataSet: added name, min and max kinetic energy
and related accessors.
- G4IonProtonCrossSection: some code clenup; moved virtual
methods to source, added constructor and destructor, make
G4ProtonInelasticCrossSection class member. Fixed bug in
kinematics.
- Added G4CrossSectionInelastic and G4CrossSectionElastic,
wrappers for components.
- New class G4ComponentAntiNuclNuclearXS for the calculation of
the total elastic and inelastic cross-sections of anti-nucleon and
anti-nucleus interactions with nuclei based on Glauber approach.
- New class G4CrossSectionPairGG to extend a given cross-section
with a scaled G4GlauberGribovCrossSection. Scaling result in
smooth transition.
- G4BGGPionElasticXS, G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS:
fixed low-energy (E < 20 MeV) models.
- G4TripathiLightCrossSection: fix for threshold shape.
- G4VCrossSectionDataSet: introduced new methods,
IsIsoApplicable() and GetZandACrossSection(),
replacing IsZAApplicable() and GetIsoZACrossSection()
now obsoleted. Modified code to use the new API.
- Fix for uninitialized data in cross-sections constructors.
- Initialize all elements of array Y[nE] to zero in
G4ElectroNuclearCrossSection::GetEquivalentPhotonEnergy().
- G4VComponentCrossSection: use G4ParticleDefinition
and kinetic energy instead of G4DynamicParticle.
- G4EMDissociationCrossSection: is now applicable for Hydrogen
but cross-section for Hydrogen is zero
- Management
- G4HadronicProcess: added methods
CheckEnergyMomentumConservation(),
SetEpReportLevel(), SetEnergyMomentumCheckLevels() and
GetEnergyMomentumCheckLevels(), which implement energy/momentum
checking. Some code cleanup.
- New G4HadronicEPTestMessenger class to provide energy/momentum
test commands available in UI.
- G4HadronicProcess: use new const GetParticleDefinition()
method of G4DynamicParticle. Added protection against negative
cross section; some cleanup. Check cross-section value before calling
ApplyYourself() in PostStepDoIt(). If less than or
equal to zero, return track unchanged.
- Fixed data initialisation in G4EnergyRangeManager.
- G4HadronicInteraction: added two methods,
GetEnergyMomentumCheckLevels()
and SetEnergyMomentumCheckLevels() in order to implement
checking of energy/momentum conservation.
- G4VPreCompoundModel: make de-excited G4Fragment non-const.
- G4VIntraNuclearTransportModel: moved constructor and destructor
to source.
- Fixed initialisation of data in G4VNuclearDensity constructor.
- Abrasion
- Removed redudant headers inclusion in G4WilsonAbrasionModel.
Fixed initialization in constructor.
- Fixed memory leak in method GetExcitationEnergyOfTarget() for
G4NuclearAbrasionGeometry.
- Binary Cascade
- G4GeneratorPrecompoundInterface: define default deexcitation
with G4PreCompoundModel in the constructor of the class.
Minor cleanup as a part of PreCompound model cleanup:
added pointers to proton and neutron.
- Lowered CaptureThreshold in G4GeneratorPrecompoundInterface
from 80 to 10 MeV.
- Fixed memory leak for products in Propagate().
- Bertini Cascade
- General improvement of code design. Several collider classes re-designed
so that they can be re-used.
- Replaced all uses of bindingEnergy() (local Bertini method)
with the standard G4NucleiProperties::GetBindingEnergy(A,Z).
- G4Diproton, G4Dineutron, G4UnboundPN: new particle
subclasses, implementing the Bertini-specific dibaryon states.
- G4ElementaryParticleCollider: replaced original (incorrect)
pp, pn, nn 2-body to 2-body scattering angular distributions
with a new parameterization of elastic scattering data using the sum of
two exponentials.
- Improved angular distributions for 2-body final states of pi-nucleon,
nucleon-nucleon, kaon-nucleon and hyperon-nucleon scattering.
- Replaced G4CascadeMomentum internal class with
G4LorentzVector.
- Added energy/momentum checks to remove large energy non-conservation
events.
- Improved memory management: removed allocation of strings in various
constuctors; replaced several cases of return-by-value with const or
non-const reference, or by use of buffers. CPU speed improvements from
the removal of unnecessary class instantiations.
- Replace std::vectors with fixed-length arrays in places where speed is
affected. Use G4cerr for error reporting. Added more verbosity.
- Improved, but not completely fixed, energy conservation in nuclear
breakup. Introduced 4-momentum conservation at each elementary
interaction and at the end of most sub-model stages. Some violation
still remains for the case of break-up of light nuclei.
- Bug fix of energy non-conservation in N-body phase space generator.
- Introduced temporary particle types for nuclear fragments far from
stability. These later disappear after the fragments are broken up.
- Added 4-momentum checking after each sub-model.
- Improved handling of nuclear excitation energy, now part of nuclear
mass.
- Recover secondaries from elementary hadron-nucleon interactions which
were deleted in original Bertini model.
- A bug resulting in factor of 2 reduction of double differential
cross-section in validation at several GeV, is now fixed.
- New interface to G4Precompound model added and tested.
- Fixed bug leading to very low hyperon energies and high CPU usage.
- Removed several unused classes and did additional code clean-up.
- Major reorganization of G4NucleiModel::generateModel() code.
Added scaling factors ("units") for nuclear radii and cross-sections,
in order to adapt calculations to the literature.
- G4NucleiModel: put messages related to negative-path-length
and zero-interaction-partners behind verbosity flag.
- Fixed defects reported from Coverity tool.
- Chiral Invariant Phase Space (CHIPS)
- Updated proton elastic and CHIPS parameters.
- Implemented anti-baryon elastic interactions.
- Added pion elastic and fixed a bug in CHIPS fragmentation.
- Implemented isotope-wise CHIPS elastic for neutrons.
- Fix in G4QElasticCrossSection in parameter order for nH.
- Bug fix in G4QNeutronNuclearCrossSection for Ba isotopes.
- Bug fix for K0 in G4QKaonMinusElasticCrossSection::GetExchangeT().
- Fix to use of Z+N instead of N for A.
- Corrected Titanium and Zirconium isotopes in G4QIsotope.
- Added decay of Chipolino in the G4QEnvironment, when A_env=0.
- Bug fix following G4NucleiProperties warning for A=0, Z=0.
- Bug fix in G4QPDGCode and G4QEnvironment for Omega and Sigma;
when mass is small for Lambda andSigma+, use Xi0,p.
- Correction in G4QElastic for K0 elastic cross-sections.
- Corrected treatment of vacuum in fragmentation module.
- nn is decayed in G4QLowEnergy; Omega- is included in
G4QElastic; N neutrons (A=N, Z=0) are decayed in
G4QLowEnergy.
- Bug-fix in G4QLowEnergy: pions as secondaries.
- Bug-fix in K0 elastic & Ion-Ion Elastic.
- Bug fix in 'body' module following tests on HARP data.
- G4QEnvironment: PDG=0 bug fix; photon and safety corrections.
- Simplified initialisation of pairs in classes G4QNeutronCaptureRatio,
G4QNeutronElasticCrossSection, G4QNeutronNuclearCrossSection and
G4QuasiFreeRatios.
- Added missing std:: to call to 'for_each' algorithm in G4QInelastic.
- G4QContent: removed dead code in quark constructor; addressing problem
report #1131.
Removed dead code also in method MakePartonPair().
- Removed dead code in G4QNucleus and G4QEnvironment.
- G4ElectroNuclearReaction: cross section classes are included
by pointer and not by value; addresses old problem reported in HyperNews.
- De-excitation
- G4ExcitationHandler: apply FermiBreakUp to fragments with
A>1 (before was A>4) in order to reduce number of
fake gamma produced in deexcitation of light fragments; added parameter
'minExcitation' equal to 1 keV; added check on stability of
primary; do evaporation if FermiBreakUp cannot deexcite a fragment;
added SetParameters() method.
- G4StatMFMacroTemperature: cleanup logic of solving equation for
temperature to avoid exception; moved constructors and destructor to source.
- G4FermiFragmentsPool: extended list of stable fragments to be coherent with the list
of fragments in the GEM model; fix for fragment 111.
- G4FermiConfiguration: parameter of Coulomb energy Kappa is
changed from 1 to 6 according to recommendation of original author of
the model A.Botvina.
- G4FermiPhaseSpaceDecay: improved model of sampling of kinetic
energy; cleanup of the code to use G4Pow.
- G4UnstableFragmentBreakUp: new class to decay exotic fragment
(like 2n or 2p).
- G4Evaporation: rewritten BreakUp() method; added
Initialise() method at construction, to setup all options and
not at run time.
Added InitialiseEvaporation() method to setup decay channels;
changed order of decay channels: first photon evaporation, then fission,
finally all other channels as before. Improved condition on how to
stop deexcitation loop;
added call to G4UnstableFragmentBreakUp if natural abundances
of cold fragment is zero and Z < 20; optimized logic of
stopping of evaporation loop; set as a default variant evaporation
combining standard plus GEM probabilities.
- G4Evaporation, G4EvaporationChannel, G4EvaporationProbability:
improved computation of minimal and maximal evaporation energy.
- G4EvaporationChannel: removed new and delete of probability
objects at each to the class, use instead local
G4EvaporationProbability of the channel.
- G4GEMChannel: use the same formulas as in G4GEMProbability
class.
- G4GEMProbability: fixed numerical problem (division by zero), code
cleanup.
- G4VEvaporationChannel, G4PhotonEvaporation: added two new
virtual methods EmittedFragment() and BreakUpFragment().
- G4DiscreteGammaTransition: make transition depended on Z and A (before
was only Z) and added energy tolerance
- G4VGammaDeexcitation: rewritten kinematics of 2-body decay;
fix in kinematics to take into account the electron mass and the binding energy
in the case of electron emission.
- G4DiscreteGammaTransition, G4DiscreteGammaDeexcitation,
G4ContinuumGammaDeexcitation: set energy tolerance 1 keV;
more accurate Lorentz computations; define destructors to be virtual.
- G4DiscreteGammaTransition: removed unphysical corrections of
gamma energy; fixed default particle as gamma; avoid extra subtracting binding
energy in case of electron emission; use const-ref for G4NuclerLevel
data member
- G4ContinuumGammaTransition: use exponential law for sampling
of decay time.
- G4PhotonEvaporation: added correction of electron state after
emission; fixed probability computation.
- G4E1Probability: code cleanup; added numerical protection
to avoid division by zero; fixed probability computation.
- G4NuclearLevelManager: replaced stream input in Read()
with char[] input and manual conversion to double; reduces 142 MB of
memory churn and some CPU speedup.
- G4NuclearLevelStore, G4NuclearLevelManager, G4NuclearLevel:
eliminate passing and copying of vectors; fill NuclearLevel directly by
Manager; modified G4ContinuumGammaTransition accordingly.
- Add README file explaining the photo-evaporation data files.
- Removed unused classes: G4DummyProbability, G4E1ProbabilityXXX,
G4E1SingleProbabilityXXX, where XXX=001,01,1,10,100
differing only by the scale factor for the probability;
scale factor may be applied in the main class if needed.
- G4NeutronRadCapture: use G4PhotonEvaporation instead
of simplified one gamma emission method.
- Fixed problems reported by the Coveruty tool (mainly missing data
initialisation); moved constructors and destructors to source;
code cleanup.
- Elastic scattering
- Added new model G4NuclNuclDiffuseElastic, final state
production model for nucleus-nucleus elastic scattering, where
Coulomb amplitude is not considered as correction.
- Use G4Q(Proton/Neutron)ElasticCrossSection instead of
G4QElasticCrossSection; fixed initialization problem for
G4QNeutronElasticCrossSection.
- G4UHadronElasticProcess: fixed CHIPS warning for Cu, due to
wrong isotope selected; addressing problem report from ALICE.
- New class G4CHIPSElasticXS extracted from
G4UHadronElasticProcess, following G4VCrossSectionDataSet interface.
- High Energy Theoretical
- In G4HEInelastic fixed case of array overrun; got rid of dead
code and a memory leak in methods HighEnergyCascading(),
MediumEnergyCascading() and QuasiElasticScattering().
- Fixed uninitialized data and removed dead code where applicable.
- Im_r_matrix
- Removed empty source file for G4VScatterer.
Synchronised developments to HEAD version.
- INCL/ABLA
- Nuclear deformation and shell effect data reader now constructs the
corresponding data tables correctly.
- Added some internal logging facilities to INCL (disabled by default).
- Added missing virtual destructor to base classes where necessary.
- Refactored INCL input data structure to use a new class G4InclInput.
- Access to input data only through accessor methods.
- INCL now uses integer A and Z internally as well as in the interface.
- Fixed fragment vector and Fermi break-up related memory leaks in
INCL/ABLA interfaces.
- Corrected initialisation of INCL internal data and added checks on
array boundaries in datafile reader.
- Fixed insufficient array index safeguard in ABLA.
- Updated interfaces: INCL + built-in ABLA de-excitation and
INCL + PreCompound model.
- neutron_hp
- Bug fix in MF=6, LAW=2 case in G4NeutronHPDiscreteTwoBody;
on kind contribution by E.Mendoza, D.Cano-Ott (CIEMAT).
- Fixed bug in G4NeutronHPCaptureFS; addressing problem report
#1155.
- Set lower limit for gamma energy in G4NeutronHPFinalState.
- Added special treatment for Be9(n,2n)Be8(2a) case in
G4NeutronHPInelasticBaseFS; removed unnecessary warnings.
- Added safety for _nat_ data in G4NeutronHPInelasticCompFS.
- Changed warning message in G4NeutronHPPhotonDist.
- Parton-String
- Added missing virtual destructor to G4DiffractiveHHScatterer.
- Implemented new tuned parameters of nuclear destruction in FTF model;
parameters were tuned using HARP-CDP data on p+Cu interactions.
Still additional tuning required for heavy nuclei.
- Use integer interface of G4Nucleus in G4FTFModel.
- Tuned parameters to FTF for pA and PiA interactions; also tuned quark
exchange and Reggeon cascade parameters.
- Improved low mass string fragmentation.
- Introduced an action in FragmentStrings(); string
fragmentation is repeated to avoid energy-momentum violation.
- Introduced phase space restrictions at small mass string fragmentation.
- Moved inline methods in G4ExcitedStringDecay to source.
- Fixed warning messages in G4LundStringFragmentation.
- Remove unused class G4PartonStringAnnihilator.
- Pre-equilibrium
- Removed unused dummy classes G4VPreCompoundIon and
G4VPreCompoundNucleon.
- General cleaup of all classes: use G4Pow class to speedup
computations.
- G4PreCompoundModel: Emission and Transition classes become
members created at construction and no longer at run time;
initialisation is performed at construction or when options are
changed; G4Fragment is no longer const,
it is modified during process of emission of particles.
- G4PreCompoundEmission: removed SetUp() inline method
and moved its functionality.
- G4PreCompoundTransitions: fixed bug in the
PerformTransition() method, to use number of particles
instead of number of excitons.
- G4PreCompoundModel: disabled upper limit on excitation
energy.
- G4PreCompoundTransitions: fixed bug in the PerformTransition()
method, use number of particles instead of number of excitons.
- Fixed Coverity warnings for missing initialisation of data in constructors.
- QMD Reaction
- Enabled RQMD in G4QMDReaction and G4QMDMeanField.
- Radioactive Decay
- G4RadioactiveDecay: in LoadDecayTable() create a decay table
for isomers not included in RDM database and assume they all under go
IT decay. After DoDecay() check if there is any secondary
produced; kill the track if not to prevent infinite loop.
Insert a special treatment for K-40 beta decay; applied
SetICM(), SetARM() and SetHLThreshold()
to a decay channel; addresses problem report
#1068.
Make sure the proper time is positive.
- G4NuclearDecayChannel: added initialisation to all three
constructors.
- G4RadioactiveDecay, G4NuclearDecayChannel: limit the shell
index to < 7, as required by the ARM. Changed to use
BreakUp() so to limit to one transition per step when ICM is
applied; addresses problem report
#1001.
- G4RadioactiveDecayMessenger: added the UI commands for
SetICM(), SETARM() and SetHLThreshold();
removed restrictions to hlCMD.
G4RadioactiveDecay: apply SetICM(), SetARM()
and SetHLThreshold() in all decay modes.
- Completed implementation for generating the activity table in VR mode.
- Added class G4RadioactivityTable for tallying the accumulated
radio-activities in VR mode; modified G4RadioactiveDecay
accordingly, with changes needed to setup the radioactivity tables.
- Improved code formatting.
- Re-Parameterized Gheisha
- Fixed initialisation of data in G4RPGFragmentation constructor.
- Stopping
- G4MuonMinusCaptureAtRest::DoMuCapture(): fixed unused branch
in mass calculation
- Fixed initialisation of data in G4PiMinusStopMaterial and
G4StopDummyDeexcitation constructors.
- Utils
- G4Fragment: do not add any shift to excitation energy but use
direct computation (this is needed to avoid infinite loop in gamma
deexcitation); use G4NucleiProperties to access or compute
ground state mass. Allow e- as a fragment.
Improved printout of negative excitation energy.
Minor speedup and some code cleanup.
- Fixed minor leak in G4KineticTrack.
- G4DecayStrongResonances: cleanup of unused headers.
Intercoms
- Added new commands to G4UIcommand:
/control/if, /control/add, /control/subtract, /control/multiply
and /control/divide.
- Implemented range check of UI commands for units.
- G4UIManager: added field to get GUI Window session.
Interfaces
- G4VBasicShell: implemented improvements for command completion.
- G4UIQt: added tab widgets for visualization. Added new command in
help tree for immediate update of the tree. Fixed warning in standard-output
during viewer creation and fixed flush problem. Fixed recursive repaint
problem. Fixed call to contructor QKeySequence() in
AddButton() to allow for porting on gcc-4.5.0.
Fixed problem with redraw of help tree.
- G4UIExective: changed order for session type; GUI session is
prioritized.
Materials
- G4MaterialPropertyVector: removed allocation of temporary helper
object and modified GetAdjacentBins() to allow for a value to
match a bin exactly. Measured 21% CPU speed-up for optical processes.
- G4OpticalSurface: changed GetAngularDistributionValue(),
no longer dereferencing a pointer but returning the value at the array
index.
- G4NistMaterialBuilder: added G4_LUCITE and 6 new materials more.
Added DNA biochemical materials. Added G4_CYTOSINE, G4_THYMINE, G4_URACIL.
- G4NistManager: use G4Pow for fast computations.
- G4NistMaterialBuilder, G4NistManager: added method
GetMeanIonisationEnergy().
- G4ionisParamMat, G4DensityEffectData: added possibility to access
density effect data in the case when pure material is not defined via NIST;
atom number and state of such materials are checked.
- G4DensityEffectData: fixed method GetIndex(Z, state) for
Hydrogen and solid states, renamed it to GetElementIndex().
- G4IonisParamMat: added member and method GetInvA23();
use GetElementIndex().
- G4IonisParamElm: use mean excitation energy from NIST DB
instead of data of the ICRU37 report;
addressing a problem reported for mean energy deposition in compound
materials.
- G4AtomicShells: improved performance by adding indexing array.
- G4SandiaTable: fixed bug in G4_Ar and in
SandiaMixing().
- Removed obsolete unused data classes G4IronStoppingICRU73,
G4MaterialStoppingICRU73, G4SimpleMaterialStoppingICRU73,
data are uploaded from G4LEDATA data set.
- Fixed defects reported by Coverity tool, mainly related to initialization
of static data. Adopt G4 types wherever necessary. Some code formatting.
Particles
- Updated mass/width of muons, taus, mesons, and baryons to PDG-2010.
- Added light anti_nuclei inside hadrons/ions sub-module.
- Added methods IsLightAntiIon() and GetLightAntiIon() to
G4IonTable.
- Fix to G4IonTable::IsLightIon() method; do not classify neutron
and genericIon as light ions.
- Modified G4ParticleDefiniton::Dump() to print AtomicNumber/Mass.
- ElectronOccupancy in G4DynamicParticle is now created on demand, i.e.
it is not created at construction of G4DynamicParticle but when
AddElectron() or RemoveElectron() are invoked.
- Allow creation of shortlived particles other than in 'PreInit' state.
- Added G4DynamicParticle::GetParticleDefinition() giving
'const' pointer. Code clean up to use const pointer of
G4ParticleDefinition where possible.
- Fixed signature for std::pair in G4IonTable source code for
compliance to ISO/C++ Standard.
- Fixed problems that error messages appear in cout and not in cerr.
- Code cleanup in G4DynamicParticle constructors.
- Fixed cases of uninitialised data reported by Coverity.
Persistency
- ASCII
- Added missing static data initialisation to constructors where
applicable.
- Fixed potential cases of dereferencing a NULL pointer in
G4tgbMaterialMgr.
- Fixed cases of unreachable code in G4tbrVolumeMgr.
- Fixed leaks in G4tgrFileReader.
- G4tgrUtils: fixed logic in WordIsUnit() and fixed
restoring of cout precision in Dump3v().
- Fixed some minor Coverity reports.
- GDML
- New class G4GDMLMessenger instantiated with G4GDMLParser
and defining UI commands for importing and exporting GDML files, through
the various options the parser provides.
- Corrected GetWorldVolume() in G4GDMLReadStructure, to
make use of the structure stored in memory in case geometry is already
imported.
- Added G4GenericTrap among the set of supported solids in both
GDML reader and writer, treating as 'arb8' GDML type.
- Added GetAuxMap() method to G4GDMLParser and removed
'const' qualifier to types in internal map of logical-volumes. Changed
value type to 'string' in G4GDMLAuxPairType to avoid extra
type evaluation while parsing.
- Fixed dummy initialisation of members in classes constructors where
applicable.
- Added exceptions asserting validity of dynamic casted pointers.
- Added possibility to de-activate/activate names stripping when reading
files, by invoking a new method G4GDMLParser::SetStripFlag(bool)
before importing the GDML file. Stripping is activated by default.
- Fixed minor left Coverity reports. Some code cleanup.
- mctruth
- Fixed possible case of NULL forward in G4PersistencyCenter
class.
Physics lists
- New physics lists and builders:
- QGSP_BERT_CHIPS: use CHIPS inelastic in cluding cross sections
for Kaon and all "misc" particles, including anti-proton,
anti-neutron and hyperons.
- Shielding: A list optimised to shielding applications. Uses FTFP and
Bertini for proton, neutron,pion, and Kaon. For neutron at low energy,
neutron_HP is used. Uses G4BGGNucleonInelasticXS
inelastic cross sections for proton and neutron,
G4NeutronHPJENDLHEInelasticData for neutron at low energy,
interface to CHIPS cross-sections G4QHadronInelasticDataSet for Kaon.
For ions the QMD model is used.
- Physics lists qualification changes (obsolete/partially
disabled/experimental/supported):
- Obsolete and disabled (removed): FTFP_EMV, QGSC_EFLOW, QGSP_EMX,
FTFC, FTFP, LHEP_BERT_HP, LHEP_BERT, LHEP_PRECO_HP,
QGSC_EMV, QGSC, QGSC_QGSC, QGSP_BERT_DIF, QGSP_BERT_NQE,
QGSP_DIF, QGSP_EMV, QGSP_EMV_NQE, QGSP_NQE, QGSP_QE.
- Obsolete (blocked): QGSP, QGSC_CHIPS
.
- Explicitely marked experimental:
- Marked as supported: QGSP_FTFP_BERT
- Introduced new constructor for all builders with verbosity argument.
Existing constructors are kept, but updated default arguments to avoid
ambiguous signatures. Changed physics-lists to use the new constructor.
Introduced new constructor for G4NeutronTrackingCut.
- EM physics builders and options:
- Included anti_deuteron, anti_triton, anti_alpha, anti_He3 in all EM
builders except the DNA builder.
- Added G4WentzelVIModel for multiple-scattering and
G4CoulombScattering process for muons in all builders.
- Use G4ionIonisation for He3 and He4 ions in all EM builders.
- G4EmStandardPhysics_option2: added G4WentzelVIModel for
multiple-scattering and excluded single
scattering model for pi+-, kaon+-, protons
(hadron elastic process is responsible for large angle scattering);
added BS angular generator for bremsstrahlung.
- G4EmStandardPhysics_option3: commented out Rayleigh to have better CPU
performance.
- G4EmLivermorePhysics, G4EmPenelopePhysics, G4EmDNAPhysics,
G4EmLivermorePolarizedPhysics: added G4GoudsmitSaundersonMscModel
for e+-; added 1 MeV upper limit for the Livermore ionisation
model (was 1 GeV).
- Correctly implement new option SetScintillationByParticleType() in
G4OpticalPhysics; make ConstructProcess() and
ConstructParticle() methods public. Added G4OpMieHG
scattering process.
- Changed default elastic model in G4EmDNAPhysics and switched
elastic model in G4DNA physics builder.
- Added new e- G4DNA processes to G4EmDNAPhysics in builders.
Added also new H-excitation model.
- Hadronic builders:
- Allow for separate physics for pion and Kaon, i.e. add builders
seperating pion and Kaon,
G4{V,}{Pion,Kaon}Builder, G4{LEP,Bertini, QGSP}PionBuilder,
and G4ChipKaonBuilder. In QGSP_BERT_CHIPS, use CHIPS
G4QInelastic via G4ChipKaonBuilder for Kaons.
- In builders G4QGSP{Proton, Neutron,Pik}Builder and
G4QGSBinary, FTFP and FTFBinary builders use cross-section
with relativistic rise, using a combination of previously used
cross-section and G4GlauberGribovCrossSection above
91 GeV.
- G4FTFPNeutronBuilder, G4FTFPPiKBuilder, G4FTFPProtonBuilder,
G4QGSPNeutronBuilder, G4QGSPPiKBuilder, G4QGSPProtonBuilder, G4QGSBuilder:
added deletion of G4ExcitationHandler and G4QGSMFragmentation;
added deletion of neutron builder for QGSP_BERT, FTFP_BERT, QGSP_FTFP_BERT.
- Replaced G4HadronQElasticPhysics with G4QElasticPhysics
and G4IonPhysics with G4QIonPhysics in the CHIPS
physics-list. Particles are restricted to SU(3) hadrons (no pi0 & eta) in
G4QElasticPhysics. Fix in G4QPhotoNuclearPhysics to
reset particles iterator.
- G4IonBinaryCascadePhysics: added G4IonProtonCrossSection.
- G4HadronElasticPhysics renamed to G4HadronElasticPhysics93
G4HadronElasticPhysics is now a copy of G4HadronHElasticPhysics.
Applied related changes to QGSP_BERT_EMV. G4HadronHElasticPhysics
is now marked as obsolete.
- Fixed bugs in G4IonQMDPhysics: wrong energy limit for overlap
with BIC; also use QMD for d, alpha.
- G4HadronElasticPhysicsHP: added CHIPS cross sections for p and
n on Hydrogen and Helium targets.
- Updates to lists:
- Revised QGSP_FTFP_BERT and FTFP_BERT lists to use CHIPS G4QInelastic
for all "misc" particles, including anti-proton, anti-neutron and
hyperons, and use interface to CHIPS cross-sections
G4QHadronInelasticDataSet for kaons. Required changes to
respective HadronPhysics* classes.
- LBE: substituted obsolete G4MultipleScattering by particle
wise processes. Updated to comply with the new EM design (use
Livermore models rather than LowEnergy processes).
- QBBC: disabled multi-fragmentation model of deexcitation.
- QGS_BIC and FTF_BIC now use G4NeutronXS cross sections.
- G4DataQuestionaire: fix for problem report
#1125
for optical physics, to correctly check on G4REALSURFACEDATA path.
- Added check on new G4NEUTRONXSDATA data set for QBBC and in
G4NeutronCrossSectionXS.
Run
- Added G4ScoreSplittingProcess if geometry includes a regular
structure.
- Added protection against particle without process manager.
- Introducing two new methods in G4RunManager class, ReOptimize() and
ReOptimizeMotherOf(); these will cause re-optimization (re-voxelization)
of one particular logical volume without forcing re-optimization of the
entire geometrical hierarchy.
- G4RunManagerKernel: in RunInitialization(), notify
G4VisManager when geometry needs to be closed.
Track & Tracking
- Added G4Track::GetParticleDefinition() returning 'const' pointer,
if possible.
- Added warning exception if GetDeltaEnergy/Momentum() methods are
invoked. These methods are now obsolete and planned to be removed.
- Added touchable history of the origin to G4Track.
- Added protection against possible null pointer in G4Track::GetVelocity().
Use PhysicsVector for calculation of GetVelocity() for better
performance.
- G4SteppingManager: use canonical form for G4Exception.
Added protection for possible negative index in method
ApplyProductionCut() and some printout formatting.
- G4Step::GetSecondary() gives back a const G4TrackVector*,
while G4Step::GetfSecondary() gives back non-const pointer.
- Fixed restoring of output settings in G4SteppingVerbose.
Fixed cases of restoring cout/cerr precision formatting in several classes.
- Use 0 instead of NULL where applicable.
- Fixed minor reports from Coverity.
Visualization
- Management
- Added new /vis/open command for OpenGL viewers,
/vis/open OGL.
This new form allows the same macro to be used whether one is on
Linux or Windows (calling OGLSX on Linux and OGLSWin32 on Windows).
When the application has been built with Qt, it will use the Qt form
of OpenGL; when built with Motif, it will use the Motif form of OpenGL.
Also added options OGLI and OGLS to force Immediate or Stored modes.
The user is still free to use the older, specific viewer names, such
as OGLIX, but the simple form, OGL, will give the most portable macros.
- Added new /vis/open command for OpenInventor, /vis/open OI.
This new form allows the same macro to be used whether one is on Linux
or Windows (calling OIX on Linux and OIWin32 on Windows).
- Added /vis/scene/add/digis and /vis/filtering/digi
commands, analogous to the already-existing commands
/vis/scene/add/hits and /vis/filtering/hits.
As with hits, it remains the user's responsibility to provide the
digitisation classes.
Added method AddCompound(const G4VDigi&) to drivers.
- Introduced DispatchToModel without i_mode. The archaic form
G4VTrajectory::DrawTrajectory(i_mode) is replaced by the
newer form, G4VTrajectory::DrawTrajectory(). i_mode
used to be a parameter to control whether the trajectory was drawn as
a line, a line plus step points, or only step points:
- 'i_mode > 0' meant draw lines and points, size of points in
'pixels = abs(i_mode)/1000'
- 'i_mode = 0' meant draw only lines
- 'i_mode < 0' meant draw only points, size of points in
'pixels = abs(i_mode)/1000'
Since release 8.1, better control has been available from the command
/vis/modeling/trajectories. Since release 5.0, i_mode
less than 1000 has in fact drawn no points and i_mode of 1000
has drawn points that were so small (a single pixel wide) that they
were overshadowed by the trajectory itself except at endpoints of the
trajectory or where the trajectory made a sharp change of direction.
Use of i_mode is now trapped and a warning gets printed.
- Changed order of flags to follow G4UIExecutive.
- Moved all non-fatal output messages from G4cerr to G4cout
for DAWN, VRML and gMocren drivers.
- G4VisManager, G4VisExecutive: introduced optional verbosity
string argument in constructor; made 'fVerbosity' and
GetVerbosity() static.
- Added virtual destructors to fix compilation warnings.
- Added /vis/viewer/set/defaultColour and defaultTextColour
commands.
- Fixed G4VisExecutive inlined constructor.
- Fixed some Coverity reports.
- Modeling
- Added G4DigiModel and G4DigiFilterFactories.
- Added default colours to G4TrajectoryDrawByParticleID.
- Replace polyhedra with solids for sections and cutaways.
- Trap use of i_mode and print warning.
- Fixed time-slicing problem.
- Externals
- G4OpenGL2PSAction: added new method to set viewport.
- Updated gl2ps to version 1.3.5.
- gMocren
- Removed dependency on G4VisManager. Improved printout.
- HepRep
- Added command /vis/heprep/renderCylAsPolygons.
- OpenGL
- G4OpenGLQtViewer: better inclusion of new tabs in UI part.
Many improvements to OpenGL Qt.
- Speed improvements for polymarkers (e.g., trajectories).
- Some improvements with auto rotation mode.
- Corrected strdup usage in G4OpenGLViewer.
- Use generic section and cutaway algorithm.
- Added protection against multiple repaint call, and protection against
resizeGl with bad values.
- Improved kernel visit trigger.
- Time-slices fade to background colour.
- Added verbosity control.
- Tidied display list limit.
- OpenInventor
- Added protection against repeated initialisation.
- Protected output with G4VisManager::confirmations.
- Improved kernel visit trigger.
- RayTracer
- Added missing virtual destructor to G4VRTScanner, G4RTXScanner
and G4RTSimpleScanner classes.
Environments
- G4Py: revised usage of MultipleScattering classes to make use of new
particle based processes. Fixed bug in wrapping of G4GDMLParser.
Updated run-manager and physics-lists. Added new example using GTK
First experimental support for Python3. Updates to support changes
in kernel.
- Momo: revised obsolete trajectory drawing. Using QGSP_BERT
physics-list instead of GPE. JAVA source codes is now included.
Data sets
- New data set G4NEUTRONXS-1.0 for evaluated neutron cross section data
on natural composition of elements:
- Path to data controlled by variable G4NEUTRONXSDATA.
- New data set G4PII-1.2 for shell ionisation cross-sections to be used
in precise impact ionisation simulation.
- Path to data controlled by variable G4PIIDATA.
- New low-energy data set, G4EMLOW.6.19:
- New directory and data files needed by ionisation cross section
models for PIXE; added data tables in the directories uf, kpcsPaul
and kacsPaul included in the 'pixe' dir.
- Added 'sigmadiff_cumulated_elastic_e_champion.dat' and
temporary 'sigma_excitation_e_born.dat' to dna module.
- Added data files in the penelope module, necessary for
Penelope08 models for gamma rays.
- Added sigma_excitation_e_born.dat file for G4DNABornIonisationModel.
- Updated G4DNA data tables.
- added two new Geant4-DNA files for for vibrational excitation and
attachment sigma.
- Added extra stopping power data for ions; data are obtained from
computations of PASS code by A.Schinner.
- Updated sigma ionisation Rudd data.
- Updated PDF.dat to msc_GS module.
- New neutron data set with thermal cross sections, G4NDL.3.14:
- Added Zinc and Tantalum data.
- Updated Lithium and Boron data.
- New photon-evaporation data set, G4PhotonEvaporation.2.1:
- Added documentation file, with data format description.
- New radioactive decay data set, G4RadioactiveDecay.3.3:
- Added documentation file, with data format description.
Examples
- Various fixes, improvements, adoption of new features.
- Adopt G4UIExecutive to initialise UI sessions in nearly all
examples.
- Updated visualization usage in most examples, including macro sections
the user can uncomment to activate additional features.
- Fixed AIDA file option for most examples making use of histogramming.
- Completed migration to use particle-based multiple-scattering.
- Updated reference outputs.
- advanced
- brachytherapy
- ChargeExchangeMC
- New application for Monte Carlo simulation of charge exchange,
based on a real experiment performed at the Petesburg Nuclear
Physics Institute (PNPI, Russia).
- eRosita
- New example implementin a simplified seetup of the eROSITA X-ray
telescope for instrumental background simulations and fluorescence
measurements.
- gammaray_telescope
-
- Corrected initialisation of G4ThreeVector.
- Now using reference physics-list.
- hadrontherapy
- Removed the macro 'GUI.mac' contained in the macro folder: the
GUI personalisation are contained in the 'GUIPersonalisation.mac'
file that runs when the default macro files are called.
- Fixed the modulatorMacro.mac for the modulator rotation and included the
modulator.loop file for automatic rotation of the modulator wheel.
- Removed the 'addPackage' command. Now reference physics-lists can
be activated setting the enviroment variable PHYSLIST to
the name of the list. Modified main() program in order to
launch different macro file depending if PHYSILIST variable
is activated or not. Removed some macro files.
- Correctd range shifter and modulator positions.
Corrected position of primary proton beam.
- Changed the macro command name to store secondary particles to:
analysis/secondary [true/false].
- Added a macro command to store dose between runs:
analysis/writeDoseFile [filename].
- Fixed bug in nanalysis messenger when analysis is not set.
- Added QGSP_BIC_EMY reference physics list.
- Added separation between cut for the transport beam line and
detector.
- General code review and updated and cleaned macro files.
Updated README.
- human_phantom
- Corrected a bug in Event action.
- medical_linac
- Corrected and updated the vis.mac file.
- Added 'Launches' folders to store simulation outputs and macros...
- Added a phantom based on dicom CT images.
- Added the capability to rotate the accelerator (around the X axis
and around the Y axis of a fix 90 deg angle). Added the capability
to translate the phantom.
- Modified the format of the output files and removed obsolete files.
- microdosimetry
- Modified energy limit of Sanche vib excitation for e-.
- Added H excitation.
- nanobeam
- Added post step point information to SteppingAction.
- Updated for production of histograms with AIDA.
- xray_fluorescence
- Corrected bug in the MercuryPrimaryGeneratorAction.
- extended
- Retired extended examples: ExDiane.
- analysis/AnaEx01
- Added class HistoManager to replace AnaEx01AnalysisManager.
- analysis/N03Con
- Moved G4ConvergenceTester to kernel inside
global/HEPNumerics module.
- Renamed classes. Introduced NIST materials. Added vis macro.
- biasing/ReverseMC01
- Added initialisation of data in G4AdjointPhysicsList
constructor.
- Modified some tests in RMC01AnalysisManager.
- Corrected density of Si in RMC01DetectorConstruction and
corrected position of the lower Ta plate.
- Fixed compilation error on Windows.
- electromagnetic/TestEm0
- New physics-lists for EM standard options 0,1,2,3.
- Print out cross-sections in RunAction.
- electromagnetic/TestEm1
- RunAction: replaced 'ProcessCount' with a map.
- electromagnetic/TestEm2
- Added histos rms on profiles (histos numbering is changed)
and new scripts.
- electromagnetic/TestEm3
- Added PhysListEmStandardGS and PhysListEmStandardWVI.
- Added printout of mean number of gamma, e-, e+.
- Added ion scattering model into WVI Physics constructor.
- electromagnetic/TestEm5
- Added ion scattering model into WVI Physics constructor.
- electromagnetic/TestEm6
- Fixed compilation error on gcc-4.5.1.
- electromagnetic/TestEm7
- Added extra EM option "ionGasModels", which disables effective ion
charge and enables use of new models G4BraggIonGasModel,
G4BetheBlochIonGasModel.
- Added extra macro ionGasC12.mac.
- Added standard HistoManager. Fixed normalisation factor in
histograms 2 and 3.
- PhysListEmStandardNR: removed obsolete set of nuclear
stopping flag.
- Added ion scattering model into SS physics constructor.
- electromagnetic/TestEm8
- Completely revised in physics, scoring and histograms for treatment of
ionisation in thin absorbers and gaseous detectors.
- Added reation of distribution output file in Histomanager.
- PhysicsList, Em8DetectorConstruction: renamed
"VertexDetector" with "GasDetector". Fixed UI commands for step
limiter.
- Added cut per region in input macro.
- DetectorConstruction: added more printout.
- DetectorMessenger: fixed state; added G4State_PreInit.
- electromagnetic/TestEm9
- Histo: use empty option when opening file
- PhysicsList: use default constructor for elastic builder.
- Added applyCuts option to macro files.
- electromagnetic/TestEm11
- electromagnetic/TestEm12
- Added lists PhysListStandardGS, PhysListStandardSS,
PhysListStandardWVI.
- Added EGSnrc data in 'sandia' subdirectory.
- electromagnetic/TestEm13
- electromagnetic/TestEm14
- PhysicsList: extended 'ProductionCuts' down to 100 eV.
Removed non pertinent EmOptions.
- PhysListEmStandard, Livermore, Penelope: all processes
registered as discrete (i.e., no continuous energy loss).
- RunAction: replaced 'ProcessCount' with a map.
- Cleanup in SteppingAction. Updated README.
- electromagnetic/TestEm16
- SteppingAction: use const pointers for step/track objects.
- electromagnetic/TestEm18
- PhysicsList, PhysListEmStandardFLUO: updated according to
changes in electromagnetic/utils module.
- Removed obsolete builders for Livermore and Penelope in
PhysicsList; added fluorescence and PIXE options.
- eventgenerator/exgps
- Added batch input macro.
- Added extra tests in the macros directory for automatic energy
biasing and to import energy spectrum in ascii file.
- Changed analysis macro files; added plotfiles.py and plotall.py
scripts for plotting the results.
- eventgenerator/HepMC
- Updated to make use of HepMC-2.06.03.
- Use QGSP_BERT physics-list.
- eventgenerator/particleGun
- New example demonstrating three different ways of usage of
G4ParticleGun, shooting primary particles in different
cases.
- exoticphysics/monopole
- Substituted QGSP list by QGSP_BERT.
- Added new classes for monopole G4MonopoleEquation,
G4MonopoleFieldSetup and G4MonopoleTransportation.
- Use most recent version of monopole transportation, delta-electron
production enabled, non-integer monopole charge allowed.
- Added test on ionisation of heavy highly charged particle; some
cleanup.
- field/field04
- Included Mie scattering process and updated usage of
G4PhysListFactory.
- geometry/olap
- Fixed uninitialised data in OlapInfo, causing undefined behavior.
- Fixed compilation warnings for unused parameters.
- Added simple batch input macro.
- hadronic/Hadr01
- Cleanup of physics-list according to last update to physics_list
library. Use default elastic builder for majority of cases.
Removed TRV lists and cleanup elastic.
- medical/DICOM
- Added function to read nested items (defined and undefined).
- Removed dependencies on CONQUEST.
- DICOM handler can now read whichever DICOM file
(PT,CT,DR,CR,US,MR... ).
- Introduced partial phantom definition and adopt new
G4ScoreSplittingProcess.
- Fixed compilation warning on virtual methods hiding and minor
others.
- medical/electronScattering
- Added PhysListEmStandardWVI.
- Print unormalized fluence per event in RunAction.
- medical/electronScattering2
- New example for simulation of precision electron scattering
benchmark with minimal user code.
- medical/fanoCavity[1,2]
- Introduced PhysListEmStandard_option2 and
PhysListEmStandard_WVI.
- Added to run01.mac all physics-lists choice.
- Corrected initialisation of 3-vector in constructor.
- medical/GammaTherapy
- Removed unused methods in PrimaryGeneratorAction.
- optical/LXe
- Fixed initialisation of G4ThreeVector.
- optical/wls
- Included Mie scattering process and updated usage of
G4PhysListFactory.
- Corrected bug in definition of sensitive detector, when updating
geometry.
- parallel/MPI
- General code review.
- mpi_interface: OpenMPI as default MPI library instead of LAM/MPI;
improved /mpi/status command (added waste of CPU, time
measurement); improved macro file parser (same parser as
G4UIbatch; fixed unexpected behavior at the end of batch
mode); changed "beamOn" behavior for better performance (thread-out
for interactive, on-thread for batch).
- exMPI01, exMPI02: use G4UIcsh instead of G4UItcsh
since OpenMPI is now default.
- parameterisations/gflash
- Added default production cut to region crystals to cleanup
warning on stderr. Fixed also some compilation warnings.
- persistency/gdml
- G01: added G4GenericTrap to the solids.gdml
sample. Use string as second item in auxiliary-value in
main(). Added commented command for de-activating names
stripping while reading. Use world volume for tracking to dump
to GDML file.
- G02: fixed use of obsolete physics-list.
- G03: fixed use of obsolete physics-list.
- G04: new example showing how to associate a sensitive
detector to a volume through auxiliary-information.
- persistency/P03
- radioactivedecay
- New example "rdecay01" to demonstrate basic functionality of the
G4RadioactiveDecay process.
- Renamed "exrdm" example to "rdecay02".
Updated exrdmAnalysisManager to output the accumulated
radioactivities at the end of a run, in VR mode.
Added more macros u238-b.mac, u238.mac, po201m.mac and
proton-beam.mac.
- runAndEvent/RE01
- Added a protection against empty stack in
RE01StackingAction.
- runAndEvent/RE02
- Bug fix in RE02DetectorConstruction, correcting size of
array and fixing crash on Windows.
- Fixed warning messages.
- novice
- N03
- Changed classe mames, suppressed 'ExN03' prefix.
- DetectorConstruction: introduced NIST materials.
- Rationalised visTutor: several obsolete macros deleted; 6 macros
improved and retained (Tree0, Vis0,5,12,13, heprep);
updated gui.mac accordingly and moved to main directory;
updated main() program.
- Updated README.
- N04
- Replaced QGSP list with QGSP_BERT.
- N06
- Added Mie scattering process and associated material properties.