Geant4 9.3 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
Official 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 4 (SLC4) (based on RedHat Linux Enterprise 4) and
Scientific Linux CERN 5 (SLC5) (based on RedHat Linux Enterprise 5).
Geant4 has also been successfully compiled on other RedHat versions as
well as Debian and Suse.
- MacOSX 10.5 with gcc-4.0.1 and 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.4.2, gcc-4.3.2, 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
- 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.0.4.5.
Use of a different CLHEP version may cause incorrect simulation results.
Geant4 9.3 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.2 to release 9.3.
Note that for all users a full re-installation of libraries (or a full
recompilation) and a recompilation of user applications is required.
Run
- A new method CheckParticleList() has been added to
G4VUserPhysicsList to check the consistency of the list of defined
particles before instantiating the physics processes. For example,
e+, e- and gamma should exist if any electromagnetic
process is simulated... A fatal exception will be thrown if any particle
type mandatory for the simulation is missing.
It is possible to skip this check, by making use of the method
DisableCheckParticleList() from G4VUserPhysicsList.
Low Energy Electromagnetic physics
- All Low Energy Electromagnetic Physics process classes have been entirely
redesigned (migrated) in the Geant4 toolkit in order to offer to users a
coherent approach for the modeling of electromagnetic physical interactions.
The software design is now common to both 'standard' and 'low energy'
electromagnetic modules. These changes affect Livermore, Penelope,
ICRU'73 ion and Geant4-DNA Physics. Users are invited to modify their own
physics-list(s) in order to use these new processes and models.
The web page indicated below describe how to use these new processes and
models, with examples of physics list implementations and new features of
the adopted common design:
https://twiki.cern.ch/twiki/bin/view/Geant4/LoweMigratedProcesses
Please note that it is still possible to use previous implementation of the
low energy processes for backward compatibility, however, these models are no
longer maintained and will be removed in the near future. A warning message
will also be displayed when running older low energy model versions.
Standard Electromagnetic physics
- It is recommended to migrate user custom physics-lists by replacing
the G4MultipleScattering physics process with the following:
- G4eMultipleScattering for e+-;
- G4MuMultipleScattering for muons;
- G4hMultipleScattering for hadrons and ions.
The former G4MultipleScattering still exists in the Geant4
distribution but will be deleted in a future release.
Nuclear stopping power is no longer part of ionization processes, and is now
responsible only for electronic stopping power; for simulation of nuclear
stopping, a new process G4NuclearStopping should be added to
custom physics-lists.
Physics Lists
- Qualification for several physics-lists have changed. Several are now declared
obsolete. A new category of 'experimental' is used for newer physics-lists or ones with new physics options. Some physics-lists have been removed.
See in Section 10 for the details.
Visualization
- The OpenGL Print EPS facility now always depends on the compression library,
zlib. An internal version of this library is provided for users
whose system does not provide the library libz.
To use this internal version, set the environment variable
G4LIB_USE_ZLIB.
Users who build with the standard Geant4 Configure script should
not have to worry about this as the environment will automatically be set up
correctly.
Data Sets
This release introduces new versions of two data sets.
Please see the corresponding details in
Section 10 of this document.
- New data for measured optical surface reflectance, RealSurface.1.0.
- New low-energy data set, G4EMLOW.6.9.
4. New Developments and Capabilities
Geometry & Field
- A new stepper G4NystromRK4 offers better computing performance in
integrating the trajectories of charged particles in a magnetic field.
It uses the standard Nystrom method and a novel analytical estimation of
the integration error. This reduces greatly the number of field calls per
integration step (from 10 to 3). It achieves comparable accuracy with
G4ClassicalRK4 in test cases. It can be used only for pure
magnetic fields which are not time-dependent.
- A new class G4CachedMagneticField caches the value of a magnetic
field class, in order to reduce the number of calls to an expensive field
calculation or interpolation method. For positions within the chosen radius
of the previous position where it evaluated the field, it returns the last
value of the field is automatically. It can be used only for pure magnetic
fields which are not time-dependent.
Detector description persistency
- GDML: it is now possible to customise the reader as well as
the writer to treat ad-hoc user extensions to the GDML schema.
The GDML writer now also supports dumping of optical surface
properties associated with surfaces and materials.
Low Energy Electromagnetic physics
- Software migration: as explained in section 3, all low energy
electromagnetic processes and models are now adopting the same design
as for the Standard Electromagnetic Physics, for a coherent approach
of the modeling of electromagnetic physical interactions.
- Livermore Physics: new G4LivermorePolarizedPhotoElectricModel and
G4LivermorePolarizedGammaConversionModel are available for the
simulation of polarized photon interactions.
- ICRU'73 ion model : the upper energy limit of ICRU'73 stopping power tables
was extended to 1 GeV/nucleon (compared to 10 MeV/nucleon
in the previous release). Revised tables were included for G4_WATER,
G4_WATER_VAPOR, G4_Cu, G4_NYLON-6-6 (all tables provided by
P. Sigmund/Univ. of Southern Denmark).
- Geant4-DNA Physics:
- Energy range coverage of several Geant4-DNA Physics models has been
extended: electron elastic Champion's model from 7.4 eV up to
10 MeV; electron ionization Born's model from 11 eV
up to 1 MeV; proton excitation Born's model up to
100 MeV; proton ionization Born's model up to 100 MeV.
- Geant4-DNA models are valid for liquid water only and use now the
G4_WATER NIST material as liquid water material definition.
Users should define liquid water as G4_WATER in their
application(s).
- Data set: G4EMLOW version 6.9 is required.
Standard Electromagnetic physics
- The set of multiple-scattering models has been expanded:
- G4UrbanMscModel92 is the default model for e+/e-
equivalent to the Urban model included in the previous release 9.2.
It is used as the default and in the Option1 electromagnetic
physics constructors for physics-lists.
- G4UrbanMscModel93 is a tuned version of the Urban model used
for e+/e- in all other physics constructors of physics-lists
(Option2, Option3, Livermore, Penelope).
- G4GoudsmitSaundersonMscModel is a new model for e+/e-
based on formalism developed for Penelope and EGSnrc.
A new relativistic model G4PairProductionRelModel is available
for gamma conversion into e+e- pair. In this model, the LPM effect
is taken into account. The model is suggested for use in high-energy
astrophysics applications.
Hadronic physics
- Improved and extended the FTF model.
Improved its pion absorption on nucleons, introduced Reggeon cascade stage, and added excitation energy calculation. Tuned the model parameters of nuclear de-excitation and
implemented charge-exchange for pn->np in elastic and
inelastic interactions.
- The validity of the pion-nuclear cross-sections in
G4PiNuclearCrossSections, and the nucleon-nuclear cross-sections
in G4NeutronInelasticCrossSections and
G4ProtonInelasticCrossSections has been extended to 100 TeV,
by assuming a constant cross-section at very high energies.
- Glauber-Gribov cross-sections for ion-ion collisions are now available in
the class G4GGNuclNuclCrossSection,
spanning from 0.1 MeV to 100 TeV.
- The nucleon-nucleon and pion-nucleon partial cross-sections used in the
Bertini cascade were reviewed and the incorrect cross-sections found below
1 GeV were fixed. This results in slightly improved agreement
with data below 1 GeV.
- The CHIPS model has been extended with hadronic interactions covering all energies for all hadronic particles; in addition hadron- and
lepton-nuclear reactions are extended to high energies (~TeV).
It can be used by choosing the new CHIPS physics-list.
CHIPS ion-ion elastic scattering model is also now available.
- An option was added to allow models for elastic scattering to be treated in a similar way to inelastic models. Models can now be assigned to the
process class G4WHadronElasticProcess.
- G4NeutronRadCapture is a simplified new model which produces a
single photon after neutron capture. 4-momentum is conserved in the
reaction.
- Improved probabilities and channels in the G4GEM model bring it
into closer agreement with data.
- Unit conversion errors were corrected in fission and Fermi break-up models.
Optical physics
- Measured angular reflectivity distributions for common surface treatments
and reflectors have been incorporated as look-up tables (LUT).
Physics Lists
- New electromagnetic physics constructors combining standard and
low-energy electromagnetic models are available:
G4EmLivermorePhysics, G4EmPenelopePhysics, G4EmDNAPhysics,
G4EmLivermorePolarizedPhysics.
- New default builder for optical photon physics has been added:
G4OpticalPhysics together with its messenger,
G4OpticalPhysicsMessenger.
- All lists based on FTF and CHIPS modelling
use the improved versions of FTF and CHIPS.
- Newly added physics lists:
- CHIPS, a physics-lists which uses the CHIPS model for nuclear interactions of all energies and particles..
- QGSP_INCL_ABLA, a list using INCL/ABLA. It is mainly
intended for use with energies less than 3 GeV. This is
useful for e.g. spallation studies and Accelerator Driven Systems (ADS)
applications.
- Other new physics-lists, already present in 9.3-Beta:
- Some are based on existing lists, with different transitions between
models:
FTFP_BERT_TRV, lower the transition energy from
BERTini to FTFP in the range from 6-8 GeV.
- Others offer options for EM physics:
FTFP_BERT_EMV, FTFP_BERT_EMX, QGSP_BERT_EMX, QGSP_BIC_EMY.
- Attempts to reduce usage of LEP in the intermediate energy range:
- QGSP_BERT_NOLEP, using QGSP starting from 8.5 GeV;
- QGSP_FTFP_BERT, using FTFP in the energy range between BERT
and QGSP.
Visualization, Graphical Representations & Interfaces
- Improved ability of visualization system to render Boolean solids.
Certain cases involving very near co-planar faces used to result in
incorrect visualization (though not incorrect tracking).
An existing mechanism to deal with this has been improved; this mechanism
used to shift slightly the position of one solid in a chosen direction.
Now it attempts shifts in different directions by varying small amounts
until one is found that does not give an error. The system still can not
handle every situation. However it results in far fewer visualization
inaccuracies than were seen previously in such difficult cases.
- Visualization attributes can now be individually set for each volume within
a nested parameterization.
- Rich Trajectories and Rich Trajectory Points now include additional
information such as the complete volume path of the starting and ending
volume including all replica and copy numbers, etc.
- A new command, /vis/viewer/set/targetPoint, sets a specific point
to be the center of the view. Helps with doing extreme zoom in to a
specific point.
- gMocrenFile: First Beta release of this new visualization driver to
output data in the gdd format used by the gMocren volume
visualization tool. gMocrenFile can include volume data from
sensitive detector volumes, or from command-based scoring meshes, in
addition to detector geometry and trajectories. Use new command
/vis/scene/add/psHits to add scorer hits to gMocren output.
For details, see the Application Developers Guide and the
gMocren web site.
- G4UIExecutive: a new utility class for automatic instantiation of
a user session selected according to defined environment variables
G4UI_USE_*.
- Qt: Continued improvements to this new driver. The Qt
visualization driver and the associated Qt User Interface now work
well on almost all platforms and with both Qt3 and Qt4 (but still considered
a Beta release due to a few rare combinations of commands on certain
platforms that can cause crashes).
- PostScript printing: vector and bitmapped printing through the UI command
/vis/ogl/printEPS is now fully functional for all OpenGL viewers
(previously only for OGLIX and OGLSX). Related new commands are
/vis/ogl/set/printSize and /vis/ogl/set/printFilename.
- HepRepFile: new UI commands of the form /vis/heprep allow
easy control of output file name and output directory, whether a file name
should be reused (rather than having a sequential suffix appended at each
new file) and whether culled geometry volumes should be included.
Also fixed a bug in representation of G4Tubs which had caused
wrong visualization for cases in which the tube was at an unusual angle.
5. Expected effects on physics and performance
Geometry
- The new ad-hoc memory allocation system for touchables in navigation has
shown an average CPU speed improvement of ~5% and a reduction of overall
memory allocation and fragmentation for reasonably complex detector setups.
Low-energy Electromagnetic physics
- Computing performance of low energy models has been significantly
improved thanks to new implementations for data loading and interpolation
methods, transparent to the user's application.
No significant changes on the physics outcomes are expected due to the
new software design of process and model classes, or from these new
implementations of data loading and interpolation methods.
Standard Electromagnetic physics and cuts
- Initialization of the physics-tables is now considerably faster,
being measured up to a factor 3, depending on the application
complexity.
- A more precise Spline interpolation for the physics-tables, provides
accuracy of the order of 0.1%.
- A new method ResetConverters() has been added to
G4ProductionCutTable. This method, if called once initialised
the run, allows to reduce the memory footprint by clearing temporary
loss tables and range vectors used at initialisation.
Hadronic physics
- Improvements in the de-excitation code (G4CompetitiveFission,
G4FermiBreakup, etc.) produce better agreement with IAEA benchmark
data below 200 MeV.
- Bug-fixes in G4GEM evaporation code remove odd-even A
(in fragment mass) discrepancies with triple differential benchmark data.
- Bertini cascade now generates 10% less memory churn (creation and deletion
of objects) and is about 6% faster as a result.
- Improved low energy partial cross-sections in Bertini cascade give slightly
better agreement with low energy benchmark data (< 1 GeV).
- Improvements in INCL/ABLA code allow QGSP_INCL_ABLA physics list to
run much longer (several thousand events) without crashing.
- Improvements in the FTF high energy model, allow the model to be
used successfully down to 3-5 GeV incident particle energy.
6. Known Run-Time Problems and Limitations
- Reports have been made of particle tracks stuck at a volume boundary or at
an interface between volumes. This occurs infrequently, on the order of one
step per 10^11, but can effect large productions. The behaviour involved
particles which do not progress but move in very small steps, and as a
result the simulation of this track never finishes.
- A partial solution is implemented in this release, which uses an
existing mechanism to identify better these stuck tracks. It is able to
find all such tracks in the setups reported, using a large multiple of
the value of the geometrical tolerance for the setup. Users should pay
attention that the value is chosen well for their setup in case they
encounter a similar problem (using the existing functionality for
setting this value).
- The treatment for these stuck tracks is to abandon the relevant track.
This results in the track being killed by the G4Transportation
process. A warning is issued (if compiled in verbose mode, the default)
in the case that the energy of the track is above a threshold energy.
Its default value is 100 MeV. This value should be chosen by
a user in order to get warning for all particles of energy important to
your simulation. A new value can be assigned using the
SetThresholdWarningEnergy method of
G4Transportation.
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, as mentioned
in Section 6.
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 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
- Configure script:
- New simplified layout for queries and updated some defaults.
- Fixed detection of QtCore library; addressing problem report
#1079.
Removed of -s switch to sed in Qt.U to fix problem with Qt setup.
- Added flag to allow running with query options on non-interactive
terminal. Resolves issue reported in Hypernews Install-and-Config #1213.
- Added new data set for G4REALSURFACEDATA variable and updated
G4LEDATA data set version.
- Corrected text for installation of g3tog4 module; cernlib
is not required.
- Removed query on analysis; now G4ANALYSIS_USE flag has to be set
explicitely by the user, if necessary.
- Added force build of zlib when WIN32 GL or Inventor vis drivers
are built.
- Added G4OPTDEBUG option for hybrid optimized-debug build also to
Darwin-g++ and WIN32-g++ configurations.
- Corrected inclusion of -lz for zlib in architecture.gmk; corrected also
inclusion of the G4zlib library in link list in binmake.gmk for
the case of global libraries.
- binmake.gmk: added include paths to new CHIPS modules.
- G4VIS_USE.gmk: fixed dependency issues on WIN32-VC for gl2ps utility
library in visualization. Added new gMocren include path.
Removed references to obsolete GAGTREE driver.
- Darwin-g++.gmk: added paths to $QTHOME/include and $QTHOME/lib
to setup for Qt4 configuration.
- WIN32-VC.gmk: added gd32.lib use32.lib to OGLLIBS to fix
problems of linking when G4LIB_BUILD/USE_WIN32_SESSION is not set.
Digitization & Hits
- Corrected counting of flux and current passing through curved surfaces
(affecting cylinder and sphere surface scorers).
- Added missing virtual keyword for qualification of CheckROVolume() and
FindROTouchable() methods in G4VReadOutGeometry.
- Added a few accessors for visualization to G4VScoringMesh.
Electromagnetic Processes
- Adjoint
- New revised electromagnetic processes for "Reverse MonteCarlo" technique.
All e- processes have been improved and adjoint proton and ion ionisation
have been added. The use of adjoint cross section matrices can be now
limited only to e- Ionisation and Ion ionisation.
- High Energy
- Simplified initialisation in G4mplIonisationModel and
G4eeToHadronsMultiModel.
- G4AnnihiToMuPair: added method CrossSectionPerVolume();
added integral option to PostStepDoIt(), providing more precise
simulation near cross-section threshold.
- G4eeTo3PiModel: fixed vector product in matrix element.
- Some code cleanup: improved comments, avoid inlined virtual methods.
- Low Energy
- Added G4PenelopeBremsstrahlungModel, namely Bremsstrahlung
according to Penelope model, now inheriting from G4VEmModel.
Completed migration to standard-EM design for all Penelope
processes.
- Added G4RayleighScattering process (inheriting from
G4VEmProcess) describing Rayleigh scattering. Removed
G4Rayleigh to avoid duplication.
- Added G4LivermoreIonisationModel, first implementation of
low-energy ionisation in the new design. Updated Livermore photon
processes classes for handling of compound materials; added gamma
particle and energy range test in cross section computation.
Updated public interface of G4eIonisationCrossSectionHandler
in order to facilitate migration from G4LowEnergyIonisation
to G4LivermoreIonisationModel.
Set default angular generator in G4LivermorePhotoElectric
as Sauter-Gavrila.
- First fully tested version of G4LivermoreBremsstrahlungModel,
completing migration of Livermore processes to new design.
- General cleanup of new model classes for Livermore and Penelope
processes.
- Fixed bug in G4PenelopeRayleigh (calculation of mfp
for compounds), and in momentum normalization in
G4PenelopeBremsstrahlungModel. Fix in
G4PenelopePhotoElectricModel to avoid misleading warnings.
- Added proton case in G4CrossSectionExcitationMillerGreenPartial.
- Design update, bug fixes and models update for atomic shell hadronic
cross-sections calculation.
- Cleared annoying printout from G4AugerData transition table.
- Added ActivateAuger() method to Penelope Compton and
Ionisation, so that all Penelope models have now the same interface.
- Added protections in G4eIonisationSpectrum and
G4eIonisationParameters, addressing problem report
#1042.
- Revision of G4IonParametrisedLossModel. Added
G4IonDEDXHandler, a new handler class used by the revised
model class. Added G4VIonDEDXScalingAlgorithm, used by the
handler; removed G4IonParametrisedLossTable. Moved from
original ICRU'73 classes to new class G4IonStoppingData,
capable of reading stopping power data files stored in the data
set; with the new tables the upper energy limit of ICRU'73 stopping
powers is increased to 1 GeV/nucleon. Added modifier for
energy loss limit parameter. Changed default energy loss limit to
smaller value (from 0.15 to 0.01) to avoid approximate loss
description in case of large steps. Removed nuclear stopping from
model since dedicated process is available in standard EM package.
Minor fixes applied in energy loss computation. Bug fix avoiding
wrong ion ranges in case different cuts are used for a given
material in different regions. Added UpdateRangeCache()
method, removed GetRange() method.
- Added new scaling algorithm G4IonDEDXScalingICRU73, to
obtain heavy ion stopping powers for ions not covered by ICRU'73
report (scaled from existing ICRU'73 data). Included algorithm in
ion model, extending the applicability of the model to very heavy
ions.
- Geant4-DNA processes and models:
- New migrated processes and models.
- Added ability for DNA charge change processes to kill particle
without total energy deposit.
- Increased energy range validity of e- elastic Champion
model up to 10 MeV.
- Extended high energy coverage of proton ionisation
(G4DNABornIonisationModel) and excitation
(G4DNABornExcitationModel); decreased temporarily high energy
coverage of electron ionisation from 30 keV to
20 keV.
- Added G4_WATER NIST material and verbose condition
to all Geant4-DNA models.
- Bug fix in G4DNABornIonisationModel for energy deposit.
- Improved energy limit display.
- Modified low energy limit of e- elastic Champion model
to be used with new data set. Extended coverage of e-
ionisation model as well.
- Fixed cross section computation bug in
G4DNAScreenedRutherfordElasticModel and
G4DNAChampionElasticModel.
- Added vapor water shell constants to
G4DNARuddIonisationModel.
- Added message to obsolete non-migrated Geant4-DNA cross section
and final state classes, and non-migrated Livermore and Penelope
classes.
- Modified classes G4VeLowEnergyLoss, G4eLowEnergyLoss and
G4hLowEnergyLoss according to updates in
G4PhysicsVector.
- New implementation for data loading and interpolation methods;
LoadData() method now loads the data from the G4EMLOW
dataset and, then calculates the respective logarithmic values
during initialization. Both data formats (original and logarithmic)
are loaded to EM datasets and used later by interpolation methods
to perform faster calculations. LoadNonLogData() method
implements the old version for data loading and interpolation.
- Requires new data set G4EMLOW-6.9.
- Muons
- G4MuIonisation: fixed initialisation for allowing to configure
external model of fluctuations. Simplified initialisation in
G4MuBetheBlochModel, G4MuBremsstrahlungModel
and G4MuPairProductionModel.
- G4EnergyLossForExtrapolator: removed hidden bin to use full scale of
of G4PhysicsVector; set linLossLimit to 0.01.
- G4MuBetheBlochModel: compute density effect correction using new
method of G4IonisParamMat class, allowing to apply revised
parameterization of the density effect.
- G4MuMultipleScattering: use G4UrbanMscModel90 by
default.
- Some code cleanup: improved comments, avoid inlined virtual methods.
- Polarisation
- Bug fix in G4PolarizationHelper::GetSpinInPRF() for wrong
normalization of Y component.
- Bug fix in G4PolarizedAnnihilationModel::PostStepDoIt() for
wrong treatment in error check.
- Bug fix in G4StokesVector::RotateAz() for wrong usage of vector
product.
- Simplified initialisation in G4PolarizedAnnihilationModel.
- Standard
- Simplified initialisation of all models and code cleanup.
- G4PEEffectModel: substituted ComputeMeanFreePath()
with CrossSectionPerVolume() resulting in minor CPU speedup
for compound materials.
- Added new class G4HeatedKleinNishinaCompton, prototype model
for plasma.
- New class G4PairProductionRelModel, relativistic model for
gamma conversion.
- Energy loss models:
- G4UniversalFluctuation: modification in width correction,
the dependence of the correction on energy deposition at previous
steps is removed, width correction function is used instead.
Addresses report from T2K setup.
- G4IonFluctuations: removed extra phenomenological factor in
fluctuation width.
- G4BohrFluctuations: changed internal parameter to provide for
smoother transition to Landau regime in the case of small cuts.
- Set linLossLimit to 0.02 in G4ionIonisation allowing
to smooth computations of mean energy loss of ions.
- G4BetheBlochModel and G4MollerBhabhaModel: compute
density effect correction using method of G4IonisParamMat
class, applying revised density effect parameterisation.
- G4BetheBlochModel: fixed and simplified initialisation for
ions needed for the new G4IonParametrisedLossModel of
low-energy package.
Minor speedup in CorrectionsAlongStep() method.
- G4BetheBlochModel, G4BraggModel, G4BraggIonModel: removed
computations of nuclear stopping power, which will is provided by
the dedicated process, some CPU speedup.
- G4WaterStopping: fix to Ar data; added Fe ion data.
- Added new classes G4NuclearStopping and
G4ICRU49NuclearStoppingModel, a new model providing computation
of nuclear stopping.
- G4PAIModel, G4PAIPhotonModel: removed usage of random
numbers at initialisation, to avoid potential non-reproducibility issues.
- Added new G4alphaIonisation process to be used in experimental
physics-lists.
- Single and multiple scattering:
- Added G4UrbanMscModel92 and G4UrbanMscModel93
classes, corresponding to 9.2 and 9.3 versions of the Urban multiple
scattering model.
- Set default model G4UrbanMscModel92 for
G4eMultipleScattering.
- G4UrbanMscModel93: new tuning for the central part and for
the tail of the angular distribution using the old e- scattering data
only (Phys. Rev. 84 (1951) 634; Phys. Rev. 61 (1942) 254).
New version of theta0 and correction in tail tuning using
MuScat data.
- G4WentzelVIModel and all G4UrbanMscModel*: use
generic methods of G4VMscModel to access safety and other
information with the geometry modeller.
- Added new alternative multiple-scattering model for e+-,
G4GoudsmitSaundersonMscModel.
- Added warning in obsolete multiple-scattering classes
G4MultipleScattering, G4UrbanMscModel, G4UrbanMscModel2,
G4MscModel71.
- G4hMultipleScattering: removed unused obsolete methods.
- G4eCoulombScatteringModel: added relativistic factor to
Rutherford cross section; added cut per recoil using proton production
threshold (1 mm cut in range corresponding to 100 KeV);
Reduced low-limit from 1 KeV to 0.1 KeV to provide
smoother transport cross-section table. Added protection for very low
energies and changed screening parameters; fixed kinematic for ion/ion
scattering.
- G4CoulombScatteringModel: fixed energy in the center of mass
reference system; added cut per recoil using proton production
threshold.
- Utils
- G4VEmModel:
- Moved multiple-scattering methods to derived class G4VMscModel.
- Added new methods SampleDeexcitationAlongStep(),
GetParticleChangeForLoss, GetParticleChangeForGamma.
- Insure definition of pointers to the current G4Element and
G4MaterialCutsCouple objects both at initialisation and at
run time.
- G4VMscModel:
- Added generic methods used by all multiple-scattering models
InitialiseSafetyHelper(), ComputeSafety(),
ComputeGeomLimit() and ComputeDisplacement().
- Set default facsafety to 0.3 and range-factor
to 0.04 to be the same as in G4UrbanMscModel92.
- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering:
- Set high energy limit to 10 TeV and number of bins to 77.
Adopt updated G4PhysicsVector with no longer hidden bin.
- Added initialisation of polarAngleLimit and
highEnergyLimit parameters for all models.
- Fixed bug in method RetrieveTables(); check that each its
physics-vector is retrieved before setting the SplineFlag.
- G4VEnergyLossProcess, G4VEmProcess:
- Added calls to de-excitation post-step; added de-excitation
along-step per region.
- Added ActivateDeexcitation() method
in G4EmProcessOptions and related UI command to messenger.
- G4VMultipleScattering:
- Added initialisation of generic multiple-scattering model parameters
- Added SetModel() method, allowing to overwrite default.
- Removed obsolete method GetMscContinuesStepLimit().
- G4LossTableManager, G4EmProcessOptions, G4EnergyLossMessenger:
- Added parameter FactorForAngleLimit with accessors, modifiers
and UI command, to be used in the computation of limit on -t
(invariant momentum transfer) inside single scattering and
G4WentzelVI models.
- G4EmCalculator:
- Added possibility to be used by DNA low-energy processes taking into
account special DNA particles.
- Added method FindIon()
- Improved computation for electronic stopping power of ions using
CorrectionAlongStep method of G4vEnergyLossProcess
allowing to be applied for any model including the model based on
ICRU'73 data.
- Fixed bug in selection of models.
- G4EmConfigurator: fix for the case when only fluctuation model
is set and main model is the default.
- Added G4EmConfigurator in G4LossTableManager providing
for easier addition of models per region.
- G4EmSaturation: use PDG encoding instead of pointer to
G4ParticleDefinition.
- G4EmCorrections: fixed bug reported in physics-list forum #532.
- G4LossTableBuilder: added protection in BuildRangeTable()
against zero dEdx. Use copy constructors to create physics
vectors in order to reduce number of calls to exp() function.
- G4EmModelManager:
- Fixed energy range selection algorithm for the case of a small
intersection of model energy intervals.
- Fixed energy range selection algorithm for the case when there
is an intersection of energy regions of standard and low-energy
models.
- Reduced size and number of internal vectors if no model per region
are initialized.
- Avoid to initilise unused models; simplified initialisation by
smoothing procedure. The size of executable should be reduced.
- G4EmElementSelector: added protection for zero cross section
at first and last bins of physics vector and disabled Spline
interpolation.
- Added G4AtomicShell class from use by the low-energy module.
- Added new interface class G4VAtomDeexcitation.
- Xrays
- Exclude short-lived particle from IsApplicable() for
G4Cerenkov and G4Scintillation processes.
Error Propagation
- Inclusion of pi+, pi- and proton in physics list.
- Added possibility to account for error deflation (needed to make
'smoothing').
- Corrected usage of G4ThreeVector constructor in
G4ErrorMagFieldLimitProces.
Event
- Introducing G4SmartTrackStack class. By using this new stack
as the urgent stack of G4StackManager, the next track popped
up from the stack is not necessarily the last track stored in the
stack, but the track of same particle type as the previous one, as
long as such a track exists in the urgent stack. This mechanism is
expected to improve the performance for ultra-large scale simulation
such as LHC, by increasing the cache hit rate of the physics tables.
The use of G4SmartTrackStack is temporarily optional. To use
it, one should uncomment the #define line in
include/evmandefs.hh.
- Added UI comand /event/stack/verbose providing a short report
of peak number of tracks in the urgent stack.
- New classes implementing the "Reverse MonteCarlo" technique:
G4AdjointPosOnPhysVolGenerator, G4AdjointPrimaryGenerator
and G4AdjointStackingAction.
General Processes
- Cuts
- G4VRangeToEnergyConverter: modified implementation of
ConvertCutToKineticEnergy() to improve performance.
Measured a factor 2 to 3 improvement in initialisation speed when
building physics tables.
Modified BuildRangeVector() where integration is perfomed
in this method; extended for e+/e-.
Changed TotBin to be constant (i.e. same for all converters)
and set to 100 (200 for previous versions).
Added MaxEnergyCut (10 GeV set in default).
Added fRangeVectorStore to ensure that range-vector is
created only once for each material. Do not apply converter for neutron,
anti-proton, and anti-neutron.
- A new method ResetConverters() has been added to
G4ProductionCutTable. This method allows to reduce the memory
footprint by clearing temporary loss tables and range vectors used at
initialization, if invoked when starting the first run of a session.
- Added possibility to handle cuts for protons.
- Added new command /cuts/setMaxCutEnergy to messenger.
- Optical
- Added capability of simulating surface reflections with Look-Up-Tables
(LUT), containing measured optical reflectance for a variety of surface
treatments. Requires new data set RealSurface-1.0 controlled
by environment flag G4REALSURFACEDATA.
Courtesy of M.Janecek and W.Moses (LBNL).
- G4OpBoundaryProcess: added initialization of reflectivity
and efficiency at the beginning of the PostStepDoIt(); added
method BoundaryProcessVerbose() which will now print the
process status for every call to PostStepDoIt().
Change in PostStepDoIt() so that all dielectric_dielectric
surfaces may now have a reflectivity less than 1;
not only frontpainted as was the case in the past.
Geometry
- Divisions
- Allow for generic divisions along Z for polyhedras and
polycones; now divisions can happen along Z-axis with width
and offset, which fulfils the condition that division does not span
over more than one segment.
- Fixed initialization of division in Phi for polyhedras to not
take into account user defined width.
- Magnetic field
- New stepper G4NystromRK4 for magnetic field with analytic
estimation of integration error. Greatly reduces number of field value
per step.
- Added new virtual method CalculateRightHandSide() to
G4MagIntegratorStepper for use in caching momentum (and field
value) by G4NystromRK4; default implementation in
G4MagIntegratorStepper calls RightHandSide().
- New simple class G4CachedMagneticField to cache value of
magnetic field. Speeds up code when calculation of field value is
complex.
- New G4EqEMFieldWithEDM class for RHS of EofM in a combined
electric and magnetic field, with spin tracking for both MDM and EDM
terms. Courtesy of Kevin Lynch, Phys. Dept. at Boston Univ.
- Bug fix in G4EqEMFieldWithSpin,
following report on Hypernews EM-field forum #161.
- Management
- Fixed implementation of G4LogicalVolume::TotalVolumeEntities()
to become invariant to call sequence. Addressing problem report
#1082.
- Clear possible excess capacity in node vectors in G4SmartVoxelHeader
BuildNodes() method. May reduce excess memory allocated in
optimisation in medium/large detector setups, at the price of a slight
time increase in initialisation for geometry voxelisation.
- G4VTouchable: moved inline vitual methods, constructor and
destructor to source, to avoid problem of memory alignment in allocation
of derived objects.
- G4Region: added pointer to field-manager and associated
accessor/modifier, to allow for association of a local field to a
geometrical region.
- Navigation
- Refinements in G4PropagatorInField:
- Activated field per region. A field manager can now be assigned to
a region, and it will be used for all logical volumes it contains,
except for those which override it by having a field manager of
their own.
- Improved handling of repeated small steps at boundaries which are
due to geometry imprecision, navigation optimisation, or the
details of the algorithm used for tracking in field.
- Added new member fZeroStepThreshold, to enable tuning
of this existing threshold for identifying tiny or zero steps.
- A new value for this threshold fZeroStepThreshold is
a large multiple (10^4) of kCarTolerance; the old
value was 0.5*kCarTolerance. Addresses a problem of
tracks stuck at boundaries of volumes reported by ATLAS.
- The condition for identifying a tiny step is changed in order
to avoid misidentifying small proposed physical steps as
problem tiny steps.
- Changed parameters which determine the size of the next trial step.
This is used only when trying to recover from consecutive tiny/zero
steps.
- The default decrease factor is now 0.25 (from 0.1)
- When the step size is comparable to the value of
fZeroStepThreshold a different decrease factor
is used. The value given to the decrease factor was changed
to 0.35 (from 0.25).
- Added new method RefreshIntersectionLocator() to update
the state of helper class.
- Improved printing of diagnostics.
- Deleted obsolete internal methods:
SetAccuraciesWithDeltaOneStep(), SetDeltaIntersection(),
SetDeltaOneStep().
- G4VIntersectionLocator: fixed problem in
ReEstimateEndPoint() for very small steps. Corrected
constructor to ensure that it initialises all data members.
Labelled methods in header to make noticable those that must change
attributes at every step.
- Solids (CSG)
- G4Sphere:
- Implemented speed improvements and corrections from joint code
review. Cached computation for half-tolerances and use of Boolean
flag for identifying if full-sphere, shell or section.
- Implemented caching of trigonometric values, now directly computed
inside modifiers for Phi and Theta angles as
required for parameterised cases.
- Rationalised usage of relative radial tolerances.
- Correction in DistanceToOut(p,v) for phi
sections for rays passing through zero.
- Fix for the calculation of the normal in DistanceToOut()
to avoid cases of division by zero in specific configurations.
Addresses problem report
#977.
- G4Tubs, G4Cons: rationalised usage of modifiers for Phi
angles and simplified constructors.
- G4Cons: fix to DistanceToIn(p,v), added a check on
the direction in case of point on surface. Fixes a problem of stuck
tracks observed in CMS, due to wrong reply from the solid for points
on the inner radius surface base, with direction along the imaginary
extension of the cone.
- G4Torus: fix in SolveNumericJT() in order to take
into account the difference in the value of theta for different
intervals, [0:pi] or [-pi:0], and for SPhi
in [0:twopi] or [-twopi:0]. Addresses problem report
#1086.
- G4Orb: moved debug warning in DistanceToIn(p,v)
within G4CSGDEBUG flag.
- Solids (Specific)
- G4Ellipsoid: refined fix in DistanceToIn(p,v) for
points located on the curved surface, and correct treatment of
geometrical tolerance. Addresses problem report
#1076.
- Avoid redundant assignment of value to 3-vector in G4PolyconeSide
and in G4TwistTubsSide.
- Volumes
- Fix in G4PVParameterised::CheckOverlaps() to not modify
daughter volume transformation matrix for application to points in
the daughter's frame. Adopt Inverse() instead of Invert()
in call to G4AffineTransform. Addresses problem report
#1078.
- Added missing implementation for composing G4AssemblyVolume
constructor.
- Use G4Allocator for dynamic allocation of
G4TouchableHistory objects. Should reduce the number of direct
calls to malloc and memory fragmentation.
Measured an average improvement of ~5% in CPU speed with same memory
footprint. Moved inline constructors to source to avoid problems of
memory alignment in allocation.
Global
- G4PhysicsVector:
- Added ComputeSecDerivative() and SplinePossible()
methods as a computation of Spline coefficients for small number of
bins. Removed old obsolete hidden bin approach.
- Added method ComputeSecondDerivatives() for the case when
user provides first derivative at end-points; use "Not-a-Knot"
algorithm for the computation of second derivatives in default method
FillSecondDerivatives().
- Cleaned up initialisation of cached values; simplified Value()
method, now not looking into previous bin; added method
ScaleVector() needed for ICRU'73 data.
- New class G4Pow for fast computation of log() and
pow() for integer and double arguments in the interval
[1-256].
- Added G4ErrorStage enum to G4ErrorPropagatorData class.
- Cleared warning for unused argument in G4Allocator internal method.
- Changed date for release 9.3.
Graphical Representations
- Improved ability of visualization system to render Boolean solids.
Certain cases involving very near co-planar faces had resulted in incorrect
visualization (though not incorrect tracking). A previously included
mechanism to deal with this by shifting the position of one solid in a
chosen direction has been expanded by attempting shifts in different
directions by varying small amounts until one is found that does not give
an error. The system still can not handle every situation, but results in
far fewer visualization inaccuracies than were previously seen in such
difficult cases.
- Improved infrastructure for scoring (supporting new UI command
/vis/scene/add/psHits).
- G4VVisManager: added notify scene handlers (G4VGraphicsScene
objects) taking care to notify that the scene has changed so that they may
rebuild their graphics database, if any, and redraw all views.
- G4VMarker: added enum SizeType {none, world, screen};
added GetSizeType() and SetSize/Diameter/Radius() methods.
- G4VGraphicsScene: added method AddCompound(HitsMap).
Hadronic Processes
- Cross sections
- Added new Glauber-Gribov cross section for ions,
G4GGNuclNuclCrossSection.
- G4IonsKoxCrossSection, G4IonsShenCrossSection,
G4TripathiCrossSection, G4TripathiLightCrossSection: added
protections against numerical FPE exceptions.
- Use as a default hadron-nucleon cross section parameterisation
in G4GlauberGribovCrossSection, G4GGNuclNuclCrossSection,
G4NeutronElasticXS, G4NeutronInelasticXS, G4BGGNucleonElasticXS,
G4BGGNucleonInelasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS.
- Bug fixes for G4BGG* classes and added new classes
G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS.
- Modified upper limit of validity to 100 TeV in
G4PiNuclearCrossSection, G4NeutronInelasticCrossSection
and G4ProtonInelasticCrossSection.
Use constant cross-section above original range.
- Management
- G4HadronicInteraction: renamed SampleT as
SampleInvariantT; added recoilEnergyThreshold
parameter and accessor methods; use const pointers to
G4Element and G4Material; moved
G4ReactionDynamics instance to parameterised model class
G4InelasticInteraction.
- G4HadronicInteraction: added SetModelName() method.
- G4V3DNucleus: added two functions to sort nucleons along
+/- Z.
- Abrasion
- Fixed problems of negative sqrt() and made code more robust
to potential loop problems.
- Binary Cascade
- Added interface to set de-excitation handler in
G4BinaryLightIonReaction used to de-excite lighter initial
nucleus; precompound handling low energy interactions can be set too.
- Removed dependency on unused class G4NucleiPropertiesTable.
- Made capture-threshold a tunable parameter in
G4GeneratorPrecompoundInterface.
- Changes to G4BinaryCascade to protects against energy
non-conservation: shift of particle's formation times; inclusion of
captured particles; correction in GetExcitationEnergy() for
the case when all nucleons are ejected; correction for the nuclear
field for baryons.
- Bug fix in G4BinaryCascade::ApplyCollision(): decay products
outside nucleus were nevertheless counted as if these were within
nucleus.
- Corrected assignment to 3-vector, avoid use of 3vector=0.
- Added protection against void nucleus after cascade.
- Bertini Cascade
- New class G4PionSampler: samples partial cross sections,
multiplicities and final state particle types required for pi+,
pi- and pi0 scattering within a nucleus. This class
uses re-evaluated pion partial cross-sections and includes production
of strange particle pairs.
- Added class G4NucleonSampler which replaces old pp, pn
and nn partial and total cross-sections; also modified other
classes which use them.
- Added class G4FinalStateSampler.
- G4CascadeSigmaPlusNChannel: corrected sigma plus
cross-sections.
- G4CascadSpecialFunctions: moved pion, kaon, hyperon
total cross-sections to this class. Put copy of total cross-section
method in G4NucleiModel, also removed unneeded energy scale
arrays, now replaced with a new one.
- G4ElementaryParticleCollider: re-written to use
G4PionSampler class for cross-sections and multiplicities;
removed method reChargering(), now redundant.
- Moved large arrays which are instantiated at every call of frequently
used methods. They are now initialized once in constructors.
- G4CascadeInterface: moved instantiation of various collider
classes outside of loop, and put on stack instead of heap.
- G4ElementaryParticleCollider: redesigned to use
G4NucleonSampler and remove instantiation of large arrays
from within loops in code.
- G4CascadParticle, G4InuclElementaryParticle: added integer
argument to constructor to indicate which generation cascade particle
belongs to. Changed G4NucleiModel and
G4BertiniNucleiModel to use this.
- G4NucleiModel: removed instantiation of large arrays from
with loops; added new total cross section sampling, removed use of all
but one energy scale. Updated pi- and pi0 total
cross-sections. Clean up of dead code.
- Added assignment operator to class G4CollisionOutput.
- Chiral Invariant Phase Space (CHIPS)
- First implementation of CHIPS ion-ion elastic.
- Extended model for all energies for all particles.
Removed obsolete classes.
- Added photon and lepton-nuclear CHIPS inelastic; improved model to
work for all targets, including Hydrogen.
Added diffraction to CHIPS inelastic.
- Added 8 new cross-section classes and bug fixes in pA
cross-sections. Tuning of the G4QCollision for better
description of the pA interactions (E<290 MeV).
- Reorganised CHIPS classes in sub-modules: body, cross_sections,
fragmentation, interface and processes.
Better readability of the CHIPS code and code improvements.
- Improvements in hadron+proton, heavy fragments in low-energy,
various bug fixes in G4QNucleus, G4QEnvironment,
G4QCollision.
- Improvement of G4QuasiFreeRatios for application in
QGSC from E=0.
- MuCaptureEMCascade excluded from capture at rest for
mu-; all the atomic de-excitation energy of capture is
concentrated in the energy deposition.
- Bug fix against division by zero in G4QEnvironment;
improvement for the case when the Hypernucleus cannot decay in the
residual nucleus and pion; now it is decayed in the residual nucleus
and gamma.
- Fixed non-initialised variables in G4QContent and fix in
quasi-elastic for photons and leptons.
- Change of GetNuclearMass(A-1.,Z-1.) (and similar) to
GetNuclearMass(A-1,Z-1) to be consistent with changes in
particles.
- Replaced internal RndmDir() with general
G4RandomDirection() in the code.
- Bug fix in G4QNeutronCaptureRatio (Cu65): accelerate CuSc
by 1.5.
- Cleared dependency of now removed G4NucleiPropertiesTable
class.
- De-excitation
- GEM code:
- Fixes in G4GEMProbability and G4GEMChannel
to provide same probability as proposed in original papers.
Fixed old problem in G4GEMChannel, computation of
Coulomb barrier was not consistent with probability. Added
protection on unphysical initial state in G4GEMChannel.
Fixed units (hbar_Plank -> hbarc) in
G4GEMProbability.
- G4EvaporationDefaultGEMFactory: new class where light
meson probabilities are computed from default classes and other
fragments from GEM.
- Introduction of new classes G4GEMCoulombBarrier,
G4AlphaGEMCoulombBarrier, G4DeuteronGEMCoulombBarrier,
G4He3GEMCoulombBarrier, G4ProtonGEMCoulombBarrier,
G4TritonGEMCoulombBarrier and corresponding
changes in other classes of the sub-package.
- Added a G4NeutronRadCapture model, a simple 1-gamma emission
with 4-momentum balance.
- Fixed 4-momentum balance by using direct Lorentz computations in
G4CompetitiveFission. Make use of internal units.
- G4Evaporation: added method SetCombinedCannels() to
define new evaporation factory G4EvaporationDefaultGEMFactory.
- G4FissionLevelDensityParameter, G4FissionParameters: tuned
against IAEA benchmark spallation data.
- G4FermiFragmentsPool: fixed units (keV -> MeV),
removed wrong levels, added new levels according to Broohaven data
(see chart of nuclides).
- Fixed G4ExitationHandler for the case when Fermi-BreakUp
and multi-fragmentation model are activated.
- Improved implementation of Gamma function computation in configuration
weight inside G4FermiConfiguration.
- Updated ablation largely to comply with updates in G4Evaporation
and handling of G4Fragment; fixed a bug in fragment
identification when evaporation isn't used.
- Elastic scattering
- Model precise sampling and 'on the fly' table preparation in
G4DiffuseElastic.
- Migrated to the hadronic model design of elastic scattering.
Modified G4ElasticHadrNucleusHE to be now capable to work
with old and new interface.
- Added new elastic process G4WHadronElasticProcess.
- Added new class G4VHadronElastic, base class for elastic
models with default GHEISHA model
- New class G4CHIPSElastic, model interface to CHIPS
parameterization.
- Removed had-hoc NaN finder and printout in destructor of
G4HadronElastic.
- High Energy Theoretical
- Quasi Elastic part is made more used in QGSC at low energies
to improve the performance of QGSC at low energies.
- Im_r_matrix
- Fix in G4CollisionComposite reproducibility. Removed dependence
of the energy grid of the cross-section set on the order of the
particles by forcing heavier particle to be at rest when caching the
cross section.
- Reduced usage of strings; maps of cross-sections use
G4Particledefinition in place of particle name.
- INCL/ABLA
- Bug fixes to INCL nuclear potential handling; the interpolation
function used to produce discontinuous results due to an array index
off-by-one. This bug fix corrects the impact parameter distribution.
- Fixed several variable initialization and F77 to C++ translation issues
in INCL.
- Added several safeguards for division by zero or negative sqrt().
- Use centralised random number generator instead of built-in one.
- Minor fix in the INCL particle reflection time calculation.
- Parton-String
- Improved FTF model for pion obsorption on nuclei: introduced
status of nuclear nucleon involved in an interaction (Status 0 -
spectator, 1 - involved nucleon, 2 - absorbed nucleon); introduced
connection between a participant nucleon and a nuclear nucleon in
G4InteractionContent.
- Completed FTF model with Reggeon cascade and added excitation
energy calculation.
- Tuned FTFP with parameters of nuclear de-excitation.
- Implemented charge-exchange for pn->np in elastic and
inelastic interactions simulated by FTF. Implemented also
pion absorption by a nucleon.
- New Boolean parameter added in G4VSplitableHadron class for
activation and corresponding methods to operate with it; needed for
absorption of meson in nuclear collision generated by FTF.
- Fixed bug in G4VLongitudinalStringDecay for the calculation
of formation/creation time, c_light was inserted. Due to this
string tension parameter was set to the usual value (1 GeV/fm)
in G4LundStringFragmentation.
- G4VParticipants: use modified name of method to sort nucleons
in G4V3DNucleus.
- Photolepton-hadron
- Pre-equilibrium
- G4PreCompoundModel: CEM transition probabilities are set by
default. In G4PreCompoundTransitions, CEM transition
probabilities have been renormalized (transitions with Delta N=+2
are increased by factor 5).
- G4PrecompoundEmission: modified AngularDistribution()
to avoid floating point exceptions. Removed calls to log()
in rho() and replaced by use of new logfactorial().
- QMD Reaction
- Fixed bug for incidence of neutral particles in G4QMDReaction
and G4QMDGroundStateNucleus; verified for nucleon-nucleus
interactions.
- Beta version of code for enabling meson incidence.
- Radioactive Decay
- Added dependence on EM 'util' module for usage of the
G4AtomicShell class.
- Re-Parameterized Gheisha
- G4RPGInelastic: added temporary message stating the RPG
model is under development and should not be used for production.
- Stopping
- Removed dependency on unused class G4NucleiPropertiesTable.
- G4PiMinusAbsorptionAtRest, G4KaonMinusAbsorptionAtRest: fixed
usage of 3vector constructor.
- Utils
- Restored methods for storing/retrieving G4SplitableHadron,
now in use in FTF model.
- Corrected assignment to 3-vector, avoid use of 3vector=0.
- G4WilsonRadius: fixed data vector type qualification.
- G4NuclearFermiDensity: added protection to GetDeriv()
for positions far outside the nucleus causing an FP overflow in
exp().
Intercoms
- G4UIcommandTree: added a new function to complete a command path
with maximum characters guess; FindCommandTree() will now return
current tree when command path is "/".
Fixed incorrect directory deletion of G4UIcommandTree::RemoveCommand().
Addresses problem report
#1087.
- Added method GetPreviousSession() in G4UIbatch.
Interfaces
- G4UIExecutive: new class for automatic instantiation of user
interactive sessions.
- G4VBasicShell: better command completion in command line.
Fix for commands strings that match shorter commands.
- G4VUIshell: added SetLsColor() method.
- G4UIQt: added interactor to be able to add button on file and
help menu; added public method to get the main window.
Added CTRL+A and CTRL+E to move to begin/end of
command line. Fixed a problem on macOSX 10.6 with Qt 4.6-Beta.
Added debug flags for Qt. Fixed compilation warnings.
Materials
- ICRU'73 stopping power classes:
- Migrated to the G4VIonDEDXTable interface: access methods
of physics vectors have changed (vectors can also be identified via
atomic number of material if material is pure). Classes now deliver
mass stopping powers instead of stopping powers per unit length.
Any dependency on ICRU'73 material densities was removed (no densities
are included in the classes any longer). Stopping power vectors are
now only built on request and not anymore in the constructor.
Affected classes: G4IronStoppingICRU73, G4MaterialStoppingICRU73
and G4SimpleMaterialStoppingICRU73.
- G4IronStoppingICRU73: extended upper limit of the data vector
from 10 MeV to 1 GeV; 53 bins are now used.
Added G4WATER data. Also fixed GetDEDX() methods in
these classes for E=10 MeV (upper limit).
- G4MaterialStoppingICRU73: extended energy range of revised
ICRU'73 tables for water from 0.025-10 MeV/u to
0.025-1 GeV/u.
Added new function AddPhysicsVectorFullRange() for creating
corresponding physics vectors. Changed material name from
G4_NYLON-6/6 to G4_NYLON-6-6.
- New class G4IonStoppingData, which can read ion stopping power
vectors contained in G4LEDATA data set; allows for inclusion of
larger physics vectors than those in the ICRU'73 classes, where vectors
are restricted to the maximum energy 10 MeV/nuc.
- G4NistMaterialBuilder: mean ionisation potential for G4_WATER
is set to 78 eV according to GSI Annual Report (2008) p.373, in
order to be consistent with ICRU'73 tables. Fixed ICRU'73 data provided by
Prof. P.Sigmund (Univ. Southern Denmark): G4WATER, G4WATER_VAPOR,
G4_NYLON-6-6 (in G4MaterialStoppingICRU73); G4_Cu
(in G4SimpleMaterialStoppingICRU73).
Changed material names, G4_NYLON-6/6 to G4_NYLON-6-6,
and G4_NYLON-6/10 to G4_NYLON-6-10, to allow matching
with ion stopping power data files. Old names can still be used for
backward compatibility. Changed density of G4_GRAPHITE according
to PDG-2008, added new material G4_GRAPHITE_POROUS.
- G4NistMessenger: added UI command to print parameters of density
effect data. Improved implementation of UI commands in
G4NistManager, G4NistMessenger and
G4NistElementBuilder.
- G4VIonDEDXTable: added interface class for electronic stopping
power tables for ions. Added new method BuildPhysicsVector()
which invokes the build of physics vectors on demand in the initialisation
phase. Added method BuildPhysicsVector() according to base class
for G4ExtDEDXTable, G4SimpleMaterialStoppingICRU73,
G4MaterialStoppingICRU73 and G4IronStoppingICRU73.
- G4ExtDEDXTable: new utility class to handle external
electronic stopping power tables for ions.
- Use 'const' references for strings as arguments/return-values in material
properties tables and related classes. Inlined some methods and some minor
cleanup.
- Added Entries() method to G4MaterialPropertyVector and
accessors for maps in G4MaterialPropertiesTable, required for
internal use in persistency of material properties. Make visible
GetEntry() accessor in G4MaterialPropertyVector for
use restricted to persistency.
- Increased flexibily of G4SurfaceProperty and G4OpticalSurface classes
to allow for lookup-table boundary process simulations.
- G4Element: added method GetNbOfShellElectrons()
returning the number of electrons on a shell.
- G4DensityEffectData: added data from
Atom. Data Nucl. Data Tabl.30 (1984) 261, accessible via material name.
added method GetIndex()
- G4IonisParamMat: added new members: Eplasma, AdjustmentFactor,
Delta0 parameter of density effect parameterisation, and hook to
G4DensityEffectData. Fixed copy constructor.
Added new access method and method DensityCorrection().
Fixed density effect computation; added plasma energy
computation and access to G4DensityEffectData by the atomic number.
Particles
- Added new classes for "Reverse MonteCarlo" technique:
G4AdjointProton and light ions.
- Make use of new experimental class G4NucleiPropertiesTableAME03
including data updated to the Ame-2003 atomic mass evaluation (II) by
G.Audi, A.H.Wapstra and C.Thibault, Nuclear Physics A729, 2003.
- Removed obsolete class G4NucleiPropertiesTable.
- Added method CreateAllIon() in G4IonTable
and added /particle/createAllIon UI command. By this method and
command, all stable ions are created.
- G4ParticleDefinition should be created in pre-init state;
a warning is thrown if constructors of G4ParticleDefinition are
called in a different application state.
- Added CalculateAnomaly() method to G4ParticleDefinition.
- Fixed small difference of mass of taus, mesons, and anti-baryons between
PDG-2009.
- Changed G4ElectronOccupancies::MaxSizeOfOrbit to 10 to allow for
higher excited atom.
Persistency
- ASCII
- Inclusion of extruded and tessellated solids.
- Additions of accessors and constructors of G4tgbVolume
and G4tgrVolume.
- GDML
- Implemented virtual layer for allowing customisation of the writer
for user-extended schemas.
- Implemented ability to write surface properties associated with
surfaces and material properties.
- Allow for reading/writing of constant material properties.
- Added support for the GDML assembly tag, implementing assemblies of
simple placements through G4AssemblyVolume.
- Added support for GDML expression tag, implementing generic
expressions stored as literal constants.
- Corrected handling of quantity tag; added missing caching
of evaluation.
- Some code cleanup: rationalised inclusion of headers, replacing them
with forward declarations where possible.
Physics lists
- New physics lists and builders:
- QGSP_FTFP_BERT based on QGSP_BERT replacing
the bridging LEP with FTFP, and transitioning from
BERT to FTFP between 7 and 9 GeV.
- FTFP_BERT_TRV list as variant of FTFP_BERT with
transition between 6 and 8 GeV.
- QGSP_BERT_TRV: with transition energies to use
BERT ]0,9.9], LEP [9.5, 15] and
QGSP [10, inf[.
- New physics-lists with special EM options: FTFP_BERT_EMV,
FTFP_BERT_EMX, QGSP_BERT_EMX, QGSP_BIC_EMY
(opt3 EM physics).
- CHIPS physics list, using CHIPS model for all
energies. Added two builders G4QNeutrinoPhysics,
G4QPhotoNuclearPhysics with messenger.
- QGSC_QGSC: using QGS model with interface to
CHIPS at all energies, starting from E=0;
for neutrons it still uses LHEP models for the radioactive
capture and fission.
- QGSC_CHIPS: using QGS model with interface to
CHIPS at all energies; for pA interactions
the native CHIPS process G4QCollision is used below
290 MeV.
- Added builders for DNA, Livermore and Penelope physics processes.
Upper limit of Livermore models is set to 1 GeV.
Adapted G4EmLivermorePolarizedPhysics builder as for the non
polarized case. Added high energy limit to e- models
in G4EmLivermorePhysics and G4EmLivermorePolarizedPhysics
- Added G4OpticalPhysics and G4OpticalPhysicsMessenger
classes.
- Physics lists qualification changes (obsolete/partially
disabled/experimental/supported):
- Obsolete and disabled (removed): FTF_EMV, replaced by
FTFP_BERT_EMV; QGSC_EFLOW, replaced by
QGSC_CHIPS; QGSP_EMX, replaced by
QGSP_BERT_EMX.
- Obsolete: FTFC, LHEP_BERT, LHEP_BERT_HP, LHEP_PRECO_HP
QGSP_BERT_DIF, QGSP_BERT_NQE, QGSP_DIF, QGSP_EMV, QGSP_EMV_NQE,
QGSP_NQE, QGSP_QEL, FTFP, QGSP, QGSC, QGSC_CHIPS, QGSC_EMV,
QGSC_QGSC..
- Explicitely marked experimental: QGSP_BERT_EMX,
QGSP_BERT_TRV, QGSP_FTFP_BERT, QGSP_INCL_ABLA.
- Marked as supported: FTFP_BERT, FTFP_BERT_EMV.
G4PhysicsListFactory: updated choice of supported
physics-lists.
- EM physics builders and options:
- G4EmStandardPhysics, G4EmStandardPhysics_option1: use 9.2
physics configuration; use ApplyCuts=true.
- G4EmStandardPhysics_option2: use G4eMultipleScattering
for e+-. Use default StepFunction for ions.
- G4EmStandardPhysics_option3: use updated G4UrbanMscModel2
and use G4RayleighScattering process.
- Separated definition of processes for He3 and He4 ions;
G4eMultipleScattering for e+, e-, G4MuMultipleScattering
for muons.
- G4UrbanMscModel93 for e+- and G4WentzelVIModel
for muons for all builders except Opt0 and Opt1.
- G4ParameterizedIonModel for Opt3 and all combined
builders.
- StepFunction (0.1, 0.02*mm) for ions inside Opt2.
- G4EmStandardPhysics_option3, G4EmLivermorePhysics,
G4EmPenelopePhysics, G4EmLivermorePolarizedPhysics:
added G4NuclearStopping process for
GenericIon, He3, alpha particles. Set finalRange=10um
for ions.
- Updates to lists:
- Added MaxEnergy() method in FTF builders.
- QBBC list: removed templated interface and moved inline code
to source; use new interface through G4VHadronPhysics class.
- Change to G4HadroHElasticPhysics to make use of
G4WHadronElasticProcess as part of the design review for
elastic.
- Change to QGSP_BERT_EMV to make use of
G4HadroHElasticPhysics.
- Updated QBBC physics-list and fixed cross-section for
hadron elastic.
- QGSP_BERT_NOLEP: use G4HadronQElasticPhysics.
- Added initial version of G4IonQMDPhysics.
Run
- G4VUserPhysicsList:
- Added method CheckParticleList() to probe consistency of
list of particles before constructing processes; check being executed
within call to BuildPhysicsTable(). Added
DisableCheckParticleList() method as well and modified
BuildPhysicsTable() to avoid problem when ions are created
in the Pre-Init state.
- Adapted implementation for handling proton cuts.
- G4RunManagerKernel: now invokes CheckParticleList()
from G4VUserPhysicsList just before invoking SetCuts().
Also checking G4VUserPhysicsList to confirm no particle
is registered when G4RunManagerKernel is instantiated.
Fixed two minor bugs for the dump printout of regions.
- Added UI command /run/setCutForAGivenParticle in
G4UserPhysicsListMessenger.
- New classes implementing the "Reverse MonteCarlo" technique:
G4AdjointSimManager, G4AdjointSimMessenger,
G4AdjointPrimaryGeneratorAction.
Track & Tracking
- Modified implementation of GetVelocity() for particle-change for
performance improvement.
- Set lowEnergyLimit to 1 eV in
G4ParticleChangeForLoss. Added method SetLowEnergyLimit(),
also to G4VUserTrackInformation; added a string property to
indicate type of UserTrackInformation.
- Correction to G4SteppingManager::InvokeAtRestDoItProcs() in the
handling of G4Scintillation process.
- New classes implementing the "Reverse MonteCarlo" technique:
G4AdjointCrossSurfChecker, G4AdjointSteppingAction.
- G4Trajectory, G4SmoothTrajectory, G4RichTrajectory: added initial
kinetic energy. G4RichTrajectory: added final kinetic energy.
G4RichTrajectoryPoint: added "remaining energy" at each step
and attributes.
Visualization
- Overall
- Rich Trajectories and Rich Trajectory Points now include additional
information such as the complete volume path of the starting and ending
volume including all replica and copy numbers, etc.
- Fixed bug in screen location and screen ratio handling for
X/Xm/Qt/Win32 viewers.
- Vector and bitmapped printing through /vis/ogl/printEPS is now
fully functional for all OpenGL viewers (previously only for OGLIX and
OGLSX). Related new commands are /vis/ogl/set/printSize and
/vis/ogl/set/printFilename.
- Management
- G4VisManager: implemented handlers notification. A user may
notify scene handlers that the scene has changed, so that they may
rebuild their graphics database, if any, and redraw all views.
- Introduced /vis/initialize UI command; instantiating
/vis/verbose and /vis/initialize in constructor
of G4VisManager so that a user may set verbosity before
initialisation.
- New UI command, /vis/viewer/set/targetPoint, sets a specific
point to be the center of the view. Helps with doing extreme zoom in to
a specific point.
- New UI command, /vis/scene/add/psHits for visualization of
scoring quantities to gMocrenFile.
- Improved end of run event keeping information.
- Allow for arbitrary viewer deletion (fixes some situations that had
caused crashes).
- Allow refresh in GeomClosed as well as Idle state.
- G4VisExecutive: made methods inline.
- Modeling
- Added warning if logical volume is not defined.
- G4PhysicalVolumeModelTouchable: new class to allow
visualization attributes to be individually set for each volume within
a nested parameterization.
- Added unit to setAux/StepPtsSizeType UI commands so that size
can be specified either in pixels or relative to screen size.
- Added G4PSHitsModel for gMocren driver.
- G4ModelApplyCommands: added call to NotifyHandlers()
to force update of all viewers after a change of model, e.g.,
trajectory colour, point size, etc.
- Externals
- gl2ps: Added dependency on zlib (even if G4LIB_BUILD_ZLIB is
not set).
- Corrected setup for building DLLs on Windows.
- gMocren
- First Beta release of this new visualization driver to output data in
the gdd format used by the gMocren volume visualization tool.
gMocrenFile can include volume data from sensitive detector
volumes, or from command-based scoring meshes, in addition to detector
geometry and trajectories. Use the new UI command
/vis/scene/add/psHits to add scorer hits to gMocren output.
For details, see the Application Developers Guide and:
http://geant4.kek.jp/gMocren/.
- HepRep
- New UI commands of the form /vis/heprep allow easy control of
output file name and output directory, whether a file name should be
reused (rather than having a sequential suffix appended at each new
file) and whether culled geometry volumes should be included.
- Changed messenger to a singleton to facilitate sharing by
HepRepFile and HepRepXML.
- Fixed a bug in representation of G4Tubs which had caused wrong
visualization for cases in which the tube was at an unusual angle.
- OpenGL
- G4OpenGLQtViewer: ensure the GL frame size will be correct
by setting a zero size margin around.
- G4OpenGLStoredQtViewer: removed picking to true at
initialisation.
- OpenInventor
- Created new "externals" module for gl2ps library, moving out code from
OpenInventor module. Added ability to draw markers.
- Qt
- Continued improvements to this new driver. The Qt visualization
driver and the associated Qt User Interface now work well on
almost all platforms and with both Qt3 and Qt4 (but still considered a
Beta release due to a few rare combinations of commands on certain
platforms that can cause crashes).
- RayTracer
- Fixed a crash of RayTracerX on some platforms.
Addressing problem report
#1072.
Environments
- G4Py: updated configuration script and wrappers to physics-lists.
- Momo: updated documentation.
Data sets
- New data for measured optical surface reflectance, RealSurface.1.0:
- Path to data controlled by variable G4REALSURFACEDATA
- New low-energy data set, G4EMLOW.6.9:
- Corrected corrupted data files: ioni/ion-sp-38.dat, ioni/ion-sp-56.dat
and ioni/ion-sp-57.dat. Addresses problem report
#1042.
- Extended energy range of Champion e- elastic scattering model from
10 KeV up to 10 MeV.
- Extended high energy coverage of proton excitation and ionization.
- Improved precision of e- ionisation Born model.
- Included ICRU 73 stopping powers and revised tables provided by
P.Sigmund/Univ. of Southern Denmark.
- Updated Geant4-DNA e- elastic Champion files and e- ionisation
Born files.
Examples
- Various fixes, improvements, adoption of new features.
- Updated reference outputs.
- advanced
- Retired advanced examples: cosmicray_charging, radiation_monitor,
Tiara.
- air_shower
- Changed UltraPhysicsList to use new processes
G4eMultipleScattering, G4MuMultipleScattering and
G4hMultipleScattering.
- amsEcal
- New example implementing the AMS Ecal calorimeter.
- brachytherapy
- Updated physics-list and analysis setup.
- composite_calorimeter
- Use QGSP_BIC_EMY as default physics-list to test the
low-energy EM.
- gammaray_telescope
- Updated physics-list setup.
- hadrontherapy
- Reviewed physics implementation. Now Hadrontherapy can be launched
with physics-lists, packages and built-in physic models.
All models can be activated via macro command.
- Implemented new low-energy models Livermore and Penelope.
- Modified and revised the README (now in PDF format) and macro
files.
- Added messengers to control the event number and to draw only
particular tracks.
- Added a method to retrieve stopping power values for protons,
alphas and electrons.
- Added local INCL/ABLA physics list for deuterons, tritons and
alphas.
- Added first version of the IAEA benchmark geometry based on
E.Haettner's thesis. Added ability to remove the phantom by
setting its thickness to zero. Added ability to select the
geometry using macro commands.
- Collect simulation metadata: number of events, distance of the
detector (IAEA geometry), depth of the phantom (IAEA geometry),
beam energy, energy error. Added ability to produce angular
distribution plots.
- Added ability to change the name of the output file between runs.
- Added ability to use command based scoring; IAEA geometry: now can
produce Bragg peak using command based scoring.
- Added possibility to make a graphical user interface (GUI) using
the Qt libraries.
- Added some functionalities in order to change, via messengers,
geometry, voxelization of the detector and disposition in the
space of the detector/phantom.
- lAr_calorimeter
- Use QGSP_BIC_EMY as default physics-list to tests
the low-energy EM.
- medical_linac
- New release of the example: updated physics models and deleted
old and no longer supported processes; added possibility to
activate the physics lists and reference physics-lists directly
via UI command; added possibility to set cuts and max allowed
step lenghts via UI commands.
- microbeam
- Updated physics-list to migrated Livermore processes.
- Corrected plotting fuctions and switching field value.
- microdosimetry
- Updated physics-list to migrated Geant4-DNA processes.
Modified SteppingAction accordingly. Updated README.
- Replaced H2O material by NIST G4_WATER.
- Added GenericIon definition to PhysicsList.
- radioprotection
- Updated physics-lists setup.
- Changed analysis output format to XML.
- Rich
- Added possibility to use QGSP_BIC_EMY as physics-list;
by default, the example's physics-list is used still.
- xray_fluorescence
- Migrated physics-list to new low-energy processes design
- Migrated XrayFluoDataSet to meet new specifications
in G4VEMDataSet.
- xray_telescope
- Updated and simplified physics-list.
- extended
- analysis/A01
- A01DetectorConstruction, A01MagneticField: improved
handling of field. Addresses problem report
#1012.
- Removed A01Trajectory, to now use default G4Trajectory.
- Update physics-list to use new multiple scattering classes.
- Introduced use of G4UIExecutive.
- General update to README.
- biasing/ReverseMC01
- New example demonstrating the use of Reverse MonteCarlo
technique in Geant4.
- electromagnetic
- Physics list: renamed "standard" to "local"; "emstandard" to
"emstandard_opt0". Substituted obsolete low-energy physics
builders with builders from the reference physics_list library.
- Replaced obsolete G4MultipleScattering in PhysListEmStandard.
- Updated README and macro files.
- electromagnetic/TestEm2
- Substituted obsolete low-energy physics builders with builders
from the 'physics_list' module.
- Reduced number of hard-coded materials, added a possiblity to
use NIST materials.
- Some cleanup to macro files.
- electromagnetic/TestEm3
- Fix to HistoManager::PrintHisto(): avoid empty ascii
file.
- Removed G4EMConfigurator in physics-list.
- electromagnetic/TestEm5
- Added UI command /testem/phys/cutLimit allowing to change
low limit for production threshold.
- Added missing notification to G4RunManager when geometry
or material are modified between runs.
- Added PAI models configuration to Physics List.
- Modified cuts in PhysicsList. Added blaha.mac input macro.
- Removed UI command /testem/phys/cutLimit.
- PhysicsList: removed obsolete low-energy EM builders, substituted
by builders from the 'physics_list' module; added "standardGS"
option: use GoudsmitSaunderson multiple-scattering model.
- New local physics-list PhysListEmStandardGS.
- Removed G4EMConfigurator in physics-list.
- electromagnetic/TestEm6
- Increased upper limit of energy in the tables to 1000 TeV.
- Added StackingAction to allow for removal of secondary particles.
- electromagnetic/TestEm9
- Changed options to physics-list.
- electromagnetic/TestEm18
- Added UI command /testem/phys/cutLimit allowing to change
low limit for production threshold.
- Changed options to physics-list.
- Removed UI command /testem/phys/cutLimit.
- electromagnetic/TestEm13
- Replacement with new Livermore and Penelope physics-lists.
- electromagnetic/TestEm14
- Replacement with new Livermore and Penelope physics-lists.
- exoticphysics/monopole
- Added messenger to define mass and charge of the monopole.
- field
- Fixed density of STP Carbon Dioxide in DetectorConstruction.
- field/field04
- Introduced /rndm/autoSeed UI command and changed default
seeding of random generator.
- Changed F04PhysicsList and F04PhysicsListMessenger
to use G4PhysListFactory.
- Introduced use of G4UIExecutive.
- field/field05
- New example to test the spin-frozen condition whereby the g-2
muon spin precession is canceled by an applied electric field.
Courtesy of Hiromi Iinuma from KEK.
- hadronic/Hadr00
- Added possibility to define physics-list as a job parameter.
- Added script for the test run of all physics-lists.
- hadronic/Hadr01
- Updated physics-list. Using FTFP_BERT_TRV.
- Added histograms on energy depositions: total/electromagnetic,
pion/proton.
- medical/DICOM
- Changed DICOM Handler to read CT files coming from CONQUEST
DICOM server.
- medical/electronScattering, electronScattering2
- Two alternate approaches to simulating the published electron
scattering benchmark experiment of C. K. Ross et al.
- medical/fanoCavity[1,2]
- Corrected computation of 'error' in EndOfRun.
- Using GoudsmitSaunderson multiple-scattering model.
Added cut for proton recoil in case of Single Scattering.
- medical/GammaTherapy
- Updated physics-list for EM.
- optical/LXe
- Exhibit the usage of a complex index of refraction for the photo
cathode.
- Use of G4OpticalPhysics builder/messenger, instead of
LXeOpticalPhysics.
- Introduced use of G4UIExecutive.
- optical/wls
- New example tracking optical photons in a realistic plastic
scintillator bar geometry with a wave length shifting (WLS) fiber
and propagating the WLS photons inside the fiber.
Courtesy of Siu Pak Mok from TRIUMF.
- persistency/gdml
- G01: added new GDML samples for matrices+loops and
optical-surfaces. Modified matricesandloops.gdml, following
new specifications for loops.
Added possibility to run application in batch mode giving a macro
as input (e.g.: load_gdml solids.gdml g01.gdml g01.in);
option to be used by system testing for batch test.
Added assembly.gdml to demonstrate support for 'assembly' tags.
Added usage of 'expression' and 'quantity' in solids.gdml.
- G02:
Added missing inclusion of headers after cleanup.
- G03:
Extended example to show also capability to write extended schema;
added custom writer class.
Renamed translation unit for main to "gdml_ext.cc".
- persistency/P03
- Use G4XMultipleScattering in physics-list.
- polarisation/Pol01
- Updated multiple-scattering physics.
- radioactivedecay/exrdm
- Fixed trivial compilation warning when compiled without
G4ANALYSIS_USE.
- novice
- Introduced use of G4UIExecutive.
- N02
- Use G4MuMultipleScattering for muons; separated alpha
from GenericIon.
- N03
- Use G4MuMultipleScattering for muons; separated alpha
from GenericIon.
- N06
- Use G4eMultipleScattering, G4MuMultipleScattering and
G4hMultipleScattering instead of standard G4MultipleScattering.