Geant4 9.2 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, 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-3.4.6 (SLC4), gcc-4.2.1 (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, gcc-4.0.1
- Windows/XP and CygWin Tools with: Visual C++ 9.0 (Visual Studio 2008)
More verified configurations:
- Linux, gcc-4.3.2
- Linux, Intel-icc 11.0
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
- SGI V6.5.5, CC 7.2.1
- SUN Solaris 5.8, C++ CC-5.5.
2. CLHEP and AIDA
Geant4 requires the installation of
CLHEP, release 2.0.4.2.
The installation of CLHEP-2.0.4.2 is mandatory for consistency in the
definition of masses and widths of particles. Earlier versions of CLHEP may
link, but they will not give correct results.
Geant4 9.2 examples with histogramming cowork 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.1 to release 9.2.
Note that for all users a full re-installation of libraries (or a full
recompilation) and a recompilation of user applications is required.
Geometry
An additional optional Boolean argument has been added to the signature
of ComputeSafety() in G4Navigator. Any class inheriting
from G4Navigator has to adapt to the new signature.
Particles
Masses and widths of particles have been updated to be compliant with
PDG-2008. To maintain consistency this requires the upgrade to a new
version of the underlying CLHEP library (CLHEP-2.0.4.2), which includes
up-to-date constants as used by Geant4.
Low Energy Electromagnetic physics
- Geant4-DNA processes:
new elastic scattering models are available for electrons, replacing the
old ones. The user may use in his/her physics list either the Screened
Rutherford model or the Champion model; the models are alternatives and
must not be used together.
To use the Screened Rutherford model in the physics list, one should
define the elastic process as follows:
typedef G4DNAProcess
ElasticScreenedRutherfordHE;
typedef G4DNAProcess
ElasticScreenedRutherfordLE;
and register it as follows:
processManager->AddDiscreteProcess(new ElasticScreenedRutherfordLE("ElasticScreenedRutherfordLE"));
processManager->AddDiscreteProcess(new ElasticScreenedRutherfordHE("ElasticScreenedRutherfordHE"));
More details can be found in the advanced example microdosimetry.
To use the Champion model in the physics list, define the process as follows:
typedef G4DNAProcess ElasticChampion;
and register it as follows:
processManager->AddDiscreteProcess(new ElasticChampion("ElasticChampion"));
Documentation is also available from the
Low
Energy EM working group page.
- New alternative implementation of Penelope processes compatible with the
standard EM design are included as Beta release. Information on how
to use these processes (Compton, Rayleigh, Gamma conversion, photo-electric,
annihilation and ionisation) is available through these
migration
notes.
Hadronic physics
- The method MeanFreePath() in G4HadronicProcess will
become protected in the next release.
A new public method will be provided.
The obsolete method SetDispatch(), which is no longer used,
has been removed.
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 neutron cross-sections, G4NDL.3.13.
- New low-energy data set, G4EMLOW.6.2.
4. New Developments and Capabilities
Geometry & Field
- New locator classes and options are available for identifying the
intersection point of a charged particle in a field. These are Simple, Brent,
and Multi-level and allow the user to investigate tradeoffs between increased
accuracy and CPU speed according to the use case.
Multi-level is used by default to provide for robustness; the Brent method
is introduced as an alternative.
Detector description persistency
- A new module for importing detector descriptions in ASCII text format
is now part of Geant4. Such a description can be used as an alternative
to GDML or other persistency techniques, and is provided with a corresponding set
of UI commands.
- GDML: the GDML plugin module adds export capabilities,
and thus replaces completely the external GDML module required in older versions
of Geant4. The GDML schema has been upgraded to support missing
solids and parameterisations.
The new GDML-3_0_0 schema is now recommended.
Interfaces & Visualization
- The layout of the Qt interface, G4UIQt, which was introduced in
release 9.1 as a Beta release, has been improved. It now supports both common
versions of Qt: Qt3 and Qt4, and provides all the functionality of previous
graphical user interfaces (such as Xm, Win32...). Also implemented a help
widget to easily browse the entire Geant4 command system.
- Major Improvements have been made to the Qt visualization driver. This
driver now includes all of the capabilties of the other OpenGL drivers,
but adds additional controls to rotate, translate, zoom, to export to many
graphics formats (jpeg, eps, ps, pdf) and to easily create visualization
movies.
- The 2D drawing capability has been extended; added in previous release just
for G4Text, it now also include G4Circle,
G4Polyhedron, G4Polyline, G4Polymarker and G4Square.
It allows placement in the 2D "screen window". Useful for tasks such as
creating legends or logos that stay put on the screen while you otherwise
rotate, translate or zoom the visualization.
Low Energy Electromagnetic physics
- The Doppler broadening effect is added in G4LowEnergyCompton and
G4LowEnergyComptonPolarized (using identical model in both
cases).
- Ionisation cross sections for particle-induced X-ray Emission (PIXE)
- New Orlic semi-empirical model for L-Shells with protons projectiles
(G4OrlicLCrossSection);
- New ECPSSR model for K-Shells with protons and alpha projectiles
(G4ecpssrCrossSection);
- New Paul model for K-Shells (G4PaulKCrossSection).
- Added new stopping power model for ions, using by default ICRU 73 data
tables. New templated classes are G4IonParametrisedLossModel
and G4IonParametrisedLossTable.
- Geant4-DNA processes:
- New charge transfer process by incident protons: two cross-section and
one final state policy classes: G4CrossSectionChargeTransferCH,
G4CrossSectionChargeTransferExp,
G4FinalStateChargeTransferProton;
- Two new total cross section classes for electron elastic scattering in
liquid water below and above 200 eV:
G4CrossSectionElasticScreenedRutherfordLE and
G4CrossSectionElasticScreenedRutherfordHE;
- New alternative elastic scattering model for electrons in liquid water
from C.Champion's model: G4CrossSectionElasticChampion and
G4FinalStateElasticChampion.
Standard Electromagnetic physics
- Cubic Spline interpolation of dedx and cross section tables is
enabled by default. Better interpolation was found to increase stability
when varying transport parameters, such as cuts, of energy deposition of
hadrons. The old variant of linear interpolation is available as an option.
- A new process, G4eMultipleScattering, specialized for simulation
of e+ and e- multiple scattering has been added.
This process in turn uses a new model, G4UrbanMscModel2, which is
based on the G4UrbanMscModel of previous releases but has an
improved sampling algorithm and has been retuned to experimental data.
Several reference physics lists such as G4EmStandardPhysics now
use this new G4eMultipleScattering process.
- A new class G4WentzelVIModel for multiple scattering of muons and
hadrons is available as a prototype for validation.
- New bremsstrahlung model class, G4eBremsstrahlungRelModel, includes
advanced description of LPM effect; it can be applied for electrons and
positrons with E > 1 GeV and provides gamma spectra which agree
well with thin-target experimental data.
The density suppression effect in the old G4eBremsstrahlungModel
has been reviewed and improved.
- The G4IonFluctuations model has been updated: at high energy
it uses G4UniversalFluctuation, which provides Landau tail of
fluctuations.
At low energies it uses Gaussian distribution based on experimental data.
- The G4Cerenkov process now enforces a step limitation at the
Cerenkov threshold and a new user defined step limitation provides for
smoother X-ray emission.
- A new G4EmSaturation class is introduced for sampling of Birks
saturation.
- A new G4ElectronIonPair helper class based on the ICRU'31 report has
been added; it can be used for sampling electron/ion pairs in sensitive
detectors.
- A new G4EmConfigurator class can be used for configuration of
models in physics lists.
- Initialization of SubType has been added for all processes.
- The printout describing processes, models and their parameters
initialised for a run have been upgraded.
Hadronic physics
- A new hadronic process subtype enumeration G4HadronicProcessType
has been created in order to identify active hadronic processes:
enum G4HadronicProcessType
{
fHadronElastic = 111,
fHadronInelastic = 121,
fCapture = 131,
fFission = 141,
fHadronAtRest = 151,
fChargeExchange = 161
};
- Bertini cascade:
- Barrier penetration has been added to the Coulomb barrier.
- A bug in the final state multiplicity sampling has been fixed, thereby
correcting the quasi-elastic peak which was too large.
- Very low values of two-body internal pion cross sections above
7 GeV have been brought up to PDG values.
- Binary cascade: the cascade part remains unchanged, however, changes in
the pre-compound and de-excitation code will affect results for low-energy
secondaries.
- The INCL/ABLA cascade/evaporation model is now officially released.
It can be used for incident p, n, d, t, 3He, alpha and
pions from 200 MeV up to 3 GeV, on nuclei
ranging from carbon to uranium.
- The quantum molecular dynamics (QMD) model for nucleus-nucleus collisions
is now in Beta release. It is valid from 50 MeV to
5 GeV.
- The class G4GlauberGribovCrossSection now provides a smooth
transition with the Barashenkov cross sections at 90 GeV.
- G4ChargeExchangeProcess and G4ChargeExchange model are
now ready to be used in physics lists; the low energy threshold is set to
1.0 MeV.
- Several improvements have been made to the pre-compound model.
Missing pieces of theory were added and several code fixes
were made to G4PreCompoundModel and related classes.
- De-excitation and evaporation:
- Several corrections to the multi-fragmentation model to ensure it
conforms with the original SMM model. These were donated by authors
of the SMM model and collaborators.
- New inverse cross sections and fixes of evaporation probabilities
- FermiBreakUp is now switched off by default.
- The pairing correction in excitation energy have been fixed in
G4GEMChannel.
- Nuclear mass tables: in order to use nuclear masses consistently throughout the
the hadronic code, changes have been made for the usage of
G4NucleiProperties methods to also conform to changes made in the
particles module.
Physics Lists
- A new G4EmStandardPhysics_option3 physics constructor has been
added; it can be used for simulation, where required spatial precision is
much less than 1 mm.
- A new utility, G4PhysicsListFactory, is introduced; it allows
any reference physics list to be built.
Command-based scoring
- Beta release of cylindrical scoring mesh is included in this release.
Any feedback on issues and functionality is welcome.
Please, also see known issues affecting this new development in
Section 6 of this document.
5. Expected effects on physics and performance
Geometry
- Implementation improvements in G4Cons and G4Tubs
bring speed improvements on the order of 20% for those shapes
with pure-tracking (i.e. without field propagation or physics).
Low-energy Electromagnetic physics
- An updated version of the G4LogLogInterpolation class is included
in this release. This update improves the speed of low
energy EM Physics processes that use this class. Only insignificant
changes result in the interpolated values obtained and in physics
observables.
Standard Electromagnetic physics
- More precise multiple scattering model for electrons and positrons
provides wider shower (about 0.5% measured for the CMS calorimeter).
- New relativistic Bremsstrahlung model is applied for electrons and
positrons; it provides gamma spectra which agree with thin-target CERN and
SLAC data.
- The usage of the Spline approximation of dedx and cross section
tables provides a Bragg peak position which is stable within 0.1 mm
versus variation of production cut or step limit.
- Visible energy in sampling calorimeters may increase on the order of 1%
due to upgraded model of multiple-scattering and usage of Spline
approximation.
Hadronic physics
- Changes to the Bertini cascade code have resulted in several changes to
energy spectra and shower shapes:
- the bug fix to multiplicity sampling resulted in cutting the
quasi-elastic peak height in half, more in line with the binary
cascade;
- the same fix increased the multiplicity and decreased the mean energy
of pion secondaries, thus shortening the length of showers in
calorimeter tests by roughly 2% (depending on the physics list);
- CMS test beam studies show a significant reduction in non-linearities
in energy response to MIP like particles between 5 and
10 GeV;
- improvements to the Coulomb barrier have significantly reduced the
number of protons below 20 MeV.
- Improvements in the precompound model have resulted in more realistic
neutron spectra at low energies. For 22 MeV protons on aluminum,
for example, the neutron spectrum now falls exponentially, as expected from
data. Before the changes, this spectrum was more or less flat.
This results in proportionally more neutrons at lower energies.
- Performance measurements carried out on realistic setups when using
QGSP_BERT for 50 GeV pi-, show an improvement of about
25% in CPU time. A slight degradation in performance of 1 to 3% is instead
measured for QGSP_EMV.
6. Known Run-Time Problems and Limitations
Command-based Scoring
The following known issues affect the cylindrical scoring mesh feature and
are expected to be fixed in the next release.
- Rather frequent warning messages may be issued during tracking by the
G4Navigator, concerning zero-length steps. This does not affect
the correctness of the results and has been identified in the cases
where a track enters at exactly the center of the top/bottom circular
face along the local z-axis of the scoring cylinder.
- Speed of transportation in cylindrical mesh is known to be non-optimal
and will be improved in the next release.
- A problem for some scorers which use the volume size for cylindrical
mesh is identified due to faulty calculation of the geometrical volume
in such configurations. The following scorers currently should not be
used for cylindrical meshes (unless you hand-correct for the volume
after results are obtained): G4PSCellFlux, G4PSDoseDeposit,
G4PSPassageCellFlux, G4PSCylinderSurfaceCurrent,
G4PSCylinderSurfaceFlux.
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 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 can be written to standard output at the end of a program:
G4Transportation: Statistics for looping particles
Sum of energy of loopers killed:
Max energy of loopers killed:
It provides the total energy (in MeV) of tracks killed due to
excessive number of steps ('looping') during the simulation, and the maximum
energy of such a track. Such behaviour can be due to looping in magnetic fields
or encountering problems at geometrical boundaries.
In case either of these reported 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 not killed using the method SetThresholdImportantEnergy of
G4Transportation. The default value is 250 MeV.
9. Geant4 Software License
A Software License applies to the Geant4 code.
Users must accept this license in order to use it. The details and the list of
copyright holders is available at
http://cern.ch/geant4/license
and also in the text file LICENSE distributed with the source code.
10. Detailed list of changes and fixes
These are the main new features/fixes included in this release since the
last patched public release (for more detailed lists of fixes/additions,
please refer to the corresponding History files provided in most packages):
Configuration
- Integrated improvements to Qt setup. Automatically
detecting Qt3 or Qt4 installations.
- Embedded AIDA setup in central configuration scripts,
simplified GNUmakefiles in examples.
- binmake.gmk: added sub-modules persistency/ascii,
particles/adjoint and electromagnetic/adjoint.
- Implemented temporary workaround in Darwin-g++ for automatically
set GLLIBS for Leopard. Implemented temporary workaround in
Linux-g++ for automatically detect and correctly set X11LIBS
and GLLIBS for 32/64-bits dual systems on Linux.
- Defined $FIND, $SORT, $TOUCH variables overridden in Windows
setup for defining proper absolute path to CygWin tools, to avoid clashes
with Windows native tools.
- G4UI_USE.gmk: added -DG4UI_USE to CPPFLAGS.
- Configure script: brought up-to-date with new data
sets and configuration options for Qt.
Digitization & Hits
- Introducing cylindrical scoring mesh (G4ScoringCylinder and
related classes); Beta release.
- Introducing log-scale color map (G4ScoreLogColorMap).
- Fixed incorrect index number in G4ScoringMessenger.
Electromagnetic Processes
- Adjoint
- First release of adjoint (reverse Monte Carlo) processes for Compton,
photo-electric, ionisation and Bremsstrahlung.
- High Energy
- Added new Bremsstrahlung and pair-production models for hadrons.
- Added initialization of SubType for all processes.
- G4eeCrossSections: migrated to PDG 2006 data.
- New models: G4eeTo3PiModel, G4eeToPGammaModel,
G4ee2KChargedModel, G4ee2KNeutralModel.
- G4eeToHadronsMultiModel: added main reaction channels for
omega and phi resonances.
- G4GammaConversionToMuons: replaced legacy exit() statements
by warnings.
- Updated processes enumeration and printouts.
- Low Energy
- Added PIXE cross section, L-shells, for protons in
G4OrlicLCrossSection. Added semi-Empirical model implementation
for L-SubShells-Cross-Section with protons projectiles.
- New charge transfer process by incident protons (two cross-section and
one final state policy classes).
- Added Doppler broadening to G4LowEnergyCompton, based on
Y.Namito, S.Ban and H.Hirayama, NIM A 349, pp. 489-494, 1994.
Added Doppler broadening in G4LowEnergyComptonPolarized, same
model as in G4LowEnergyCompton.
- Added new stopping power model for ions, using by default ICRU 73
data tables. New templated classes: G4IonParametrisedLossModel
and G4IonParametrisedLossTable.
- Added new photon models (Penelope and Livermore) compatible with
standard EM design (Beta release).
- First inclusion of G4PenelopeIonisationModel.
Correction for G4PenelopeComptonModel: now the cross section
table calculated by the model corresponds to the original Penelope;
the difference was only for compounds materials and below 1 keV.
Fixes to G4PenelopeBremsstrahlungContinuous.
- Allow for loading the complete Auger dataset on initialization.
- Cleaned and updated energy limits for DNA processes.
- Added new elastic scattering process for electrons (Geant4 DNA) from
C.Champion's model (G4CrossSectionElasticChampion and
G4FinalStateElasticChampion). First implementation
of process for positronium production from C.Champion's model.
Updated G4DNAGenericIonsManager.
NOTE: new processes work only with version 6.2 of G4EMLOW
data.
- Removed printout in G4LowEnergyCompton. Addressing problem
report #1026.
- Removed AddEnergyDeposit below low energy limit in final
state classes.
- Decreased low energy limit for e- to 12.61 eV in
G4CrossSectionIonisationBorn and
G4FinalStateIonisationBorn instead of 25 eV.
- Corrected wrong upper energy limit for hydrogen in class
G4CrossSectionIonisationRudd, and proton in
G4ChargeDecrease. Raised lower energy limit of
G4CrossSectionExcitationEmfietzoglou up to 10 eV.
Updated low energy limits of Geant4-DNA e- models (Brenner-Zaider and
Champion's elastic scattering and Emfietzoglou's excitation).
- Added two new classes for electron elastic scattering below and above
200 eV.
- Added protection against negative log() argument in
G4LogLogInterpolation.
- Added protection against energies above 200 eV and corrected
bug in computation of differential cross-section maximum in
G4FinalStateElasticBrennerZaider.
- Added protection in G4FinalStateIonisationBorn causing
run-time error detected by Valgrind.
- Requires new data set G4EMLOW.6.2.
- Muons
- Added initialization of SubType for all processes.
- Added Spline option and promoted to public method
ComputeTrueStep() in G4EnergyLossForExtrapolator.
Added method TrueStepLength(); fixed initialization before
a step.
- Several fixes and further developments in G4Mu* models and
associated processes in order to be used as base classes for hadron
induced bremsstrahlung and e+e- pair production.
- Polarisation
- Added initialization of SubType for all processes.
- Standard
- Added initialization of SubType for all processes.
- Multiple Scattering:
- New multiple-scattering model G4WentzelVIModel used in
new muon physics processes.
- Cloned G4UrbanMscModel class into G4UrbanMscModel2:
- Introduced several fixes and tunings. Tuned central part of
scattering angle (theta0) and tail of the scattering
angle distribution, using some e- scattering data.
- Use screening function from G4eCoulombScatteringModel
and fixed screening parameter of the single scattering part.
- Added extra protection for UseDistanceToBoundary option.
- Fixed bug in ComputeTruePathLengthLimit().
- Fixed NaN in sampling of cosine theta for 50 GeV e-.
- G4UrbanMscModel, G4UrbanMscModel2,
G4UrbanMscModel90:
- Fixed cases of string comparison when compute transport
cross-sections, compare masses instead.
- Using StepStatus from preStepPoint to
identify first step for a given track instead of the step
number. Fixing a problem observed in ATLAS of small step
limits with suspended tracks when using Cerenkov process.
- Added protection against sampling scattering angle with zero
transport cross section.
- New process G4eMultipleScattering specialized for
e+,e-, which uses G4UrbanMscModel2 as a default model.
- Bremsstrahlung:
- G4eBremsstrahlungModel: corrected Migdal constant to be
set to the value as in G4eBremsstrahlungRelModel.
- G4eBremsstrahlungRelModel: revised LPM and density effect suppressions;
results fit CERN thin target experimental data at 150-300 GeV;
defined threshold energy for LPM effect depending on atomic number;
defined Thomas-Fermi screening function (a'la Tsai).
- G4eBremsstrahlung: uses G4eBremsstrahlungRelModel above
1 GeV by default.
- Ionisation:
- G4ionIonisation, G4hIonisation: removed
InitialiseMassCharge() and CorrectionsAlongStep()
methods; limits of kinetic energy for models now taken from the base
class and from models; separated treatment of He ions.
- G4ionGasIonisation: is exact clone of G4ionIonisation.
- G4hIonisation: switched off nuclear stopping for
pi and K mesons.
- G4IonFluctuations: added protection to the computation of
the correction factor to dispersion which provide smooth transition
to small velocities of an ion; added protection in computation of
dispersion on allowing have a corrected dispersion below Bohr value.
Avoid Poisson sampling. Avoid loop over elements of material;
use effective Z. Added G4UniversalFluctuation
model to provide a smooth transition from high to low energies.
- G4eCoulombScatteringModel:
- Speedup run-time computations using precomputed nuclear
form-factors per element.
- Added extra protection for precision lost in computation of
recoil energy and for ions. Added protection against precision
loss in computation of cross section at high energy.
- Added usage of G4ElementSelector vector.
- G4PAIxSection: new functions for resonance and Rutherford
collisions.
- G4PAIPhotonModel: changed model name.
- Fixed nuclear size correction for the G4BetheBlochModel.
Added methods GetParticleCharge(),
GetChargeSquareRatio(), CorrectionsAlongStep()
needed for ions in G4BetheBlochModel, G4BraggModel
and G4BraggIonModel; defining low and high energy limits
inside the model. Take into account effective charge change over
the step.
- G4WaterStopping: using Spline interpolation and mass number
instead of atomic mass.
- G4WaterStopping: added extra data.
- G4PSTARStopping, G4ASTARStopping: fixed SiO2,
TEFLON, and GRAFITE data.
- Utils
- New class G4VMscModel to keep general multiple-scattering
parameters and Get/Set methods.
- New class G4EmElementSelector, a helper class to sample random
G4Element in a compound material.
- New helper classes: G4EmConfigurator, class to add model per
particle type, process, energy range and geometrical region.
- G4ElectronIonPair: class to sample number of primary
ionisations in detectors.
- Added G4EmProcessSubType enumerator, defining sub-types for all
EM processes and changed enumeration names in G4EmTableType
to avoid clashes.
- Added new G4EmSaturation helper class.
- G4VEnergyLossProcess: fixed computation of NIEL at the last
step of a particle.
- G4LossTableManager: fixed logic in compute dEdx table
for an inactive process. Added register/deregister mechanism and
deletion at the end of job for G4VEmModel.
Propagated Spline flag to G4LossTableBuilder.
Set spline option to true, LPM effect to true
by default. Removed legacy calls to exit().
- G4LossTableBuilder: removed dependency on
G4LossTableManager. Removed legacy calls to exit().
- G4EmModelManager: fixed crash in destructor when verbosity is
greater than 1; fixed selection of models per energy; updated printout
with DumpModelList() method.
- G4VEmModel, G4VEmProcess,
G4VMultipleScattering, G4VEnergyLossProcess:
- Reordering of members and methods of classes and improved comments.
- Setting default table size 0.1 keV - 100 TeV in 84 bins.
- Renamed and improved method MicroscopicCrossSection() by
CrossSectionPerVolume().
- Using new DumpModelList() method from G4EmModelManager
in the verbosity output.
- G4VEmModel:
- Provided optimizations of SelectRandomAtom() and
SelectIsotope().
- Added methods GetParticleCharge(), GetChargeSquareRatio(),
CorrectionsAlongStep() and ActivateNuclearStopping()
needed for simulation of ion transport.
- Added LPM flag and access methods.
- Added threshold on secondary energy used in Bremsstrahlung model and
access methods.
- Use STL vector for cross sections per atom instead of C array to
avoid limits of compound materials.
- G4VEnergyLossProcess: added pointer to current G4VEmModel;
removed method CorrectionsAlongStep(), using instead corresponding
method of a model.
- G4EmCorrections:
- Added interfaces to ion effective charge.
- Disabled computation of ion corrections if G4hIonisation
process is used for ions.
- Added new correction methods in order to provide a smooth transition
between low-energy parameterization and Bethe-Bloch model.
- dEdx data for ions are initialized at the start
of a run for materials used in geometry.
- Updated search for ion/material pairs.
- Defined the correction vector 25 keV - 2.5 MeV in 20 bins
as it is in ICRU'73 table.
- G4VEmFluctuationModel: added method
SetParticleAndCharge().
- G4EnergyLossMessenger: added UI command
/process/em/applyCuts.
- Xrays
- Added scintillation with Birk's law and make now use of
G4EmSaturation to implement Birks correction.
- Added SetProcessSubType() method to G4Cerenkov
and G4Scintillation.
- G4Cerenkov:
- Added extra step limit MaxBetaChangePerStep and enforced
a step limit at the Cerenkov threshold.
- Modified sampling of the Cerenkov photon origins assuming linear
decrease in the MeanNumberOfPhotons over the step.
- Use direct inheritance from G4VProcess.
G3toG4
- Fixed compilation warning for gcc-4.3.X in clparse.
General Processes
- Biasing
- Fixed use of WeightCutOff now correctly working in a mass
geometry.
- Archived obsolete class G4CellFinder.
- Cuts
- Added G4ProductionCutsTableMessenger class.
- Decay
- G4DecayWithSpin: modified DecayIt() to allow spin
precession also for EM fields.
- Fixed process sub-type enumeration.
- Management
- Optical
- In G4OpWLS now use SetTouchableHandle() for the
secondaries in the DoIt().
- G4OpBoundaryProcess: correctly initialise pointer
Surface; corrected use of signatures for G4SwapPtr()
and G4SwapObj(), also addressing problem report
#1020;
changed unsafe cast to surface to dynamic_cast, according
to suggestion in problem report
#1014.
Use G4RandomTool utilities.
- Replaced process sub-type IDs with corresponding enum IDs.
Added local G4OpProcessSubType enum.
- Scoring
- Added copying of non-ionizing energy deposit in G4Step.
- Transportation
- G4Transportation, G4CoupledTransportation:
Performance improvement: avoid to compute safety at end of step for
neutral particles. Push value & origin of safety to G4SafetyHelper
only when its value comes from ComputeSafety().
Geometry
- Divisions
- Added division along X for G4Trd (that results in G4Trap's).
- Enhanced G4PVDivision internal utility methods to allow
divisions solids to have type different than mother.
- Magnetic field
- Revised signature of G4ChordFinder::FinderNextChord(),
making FieldTrack argument passed as reference.
- Added ApproxCurveV to method
G4ChordFinder::ApproxCurvePointS() in order to better
calculate the curve length.
- Added new stepper class G4ConstRK4, performing integration
of one step with error calculation in constant magnetic field;
implementation derived from G4ClassicalRK4.
- Added SetAnomaly() and GetAnomaly() accessors to
G4EqEMFieldWithSpin. Renormalised spin to 1.
- Some code cleanup.
- Management
- G4VSolid: explicitely reserve memory for polygon vectors
in clipping algorithm to help reducing memory footprint.
- Navigation
- G4Navigator: introduced optional Boolean argument to
ComputeSafety() to allow for computation of safety without
modifying the state of the navigator. Modified accordingly involved
classes, for calls to ComputeSafety().
- G4VoxelNavigation: implemented additional check when running
in check mode; if it is on the surface, ensure that it can
move on next step; either DistanceToIn(p,v) or
DistanceToOut(p,v) should return a finite value greater
than the tolerance.
- G4PathFinder: cleared unecessary calls to ComputeSafety()
in ReLocate().
- Moved method LocateIntersectionPoint() in
G4PropagatorInField to a separate class
G4VIntersectionLocator, now allowing to use different
location algorithms: Brent, MultiLevel, Simple.
New classes: G4VIntersectionLocator, G4SimpleLocator,
G4BrentLocator and G4MultiLevelLocator.
- Introduced first implementation of new optional method in locator
classes AdjustementOfFoundIntersection() using surface-normal
of the intersecting solid to boost accuracy. Added the optional call
to the new method in each concrete locator.
- Solids (CSG)
- G4Tubs, G4Cons: implemented speed improvements and
corrections from joint code review of G4Tubs and G4Cons
classes. Cached computation for half-tolerance and use of Boolean flag
for identifying if full-cone/tubs or section. Implemented caching of
trigonometric values, now directly computed inside modifiers for
Phi angles and required for parametrised cases (improvement
bringing up to 20% speedup in normal tracking for tube/cone-sections
placements).
- G4Sphere: defined Get/SetInnerRadius() accessors to
be compliant with other CSG solids.
- Solids (Specific)
- Corrected algorithm in G4TriangularFacet::GetPointOnFace()
according to suggestion advanced in problem report
#1025.
Fixes a problem of false overlaps detection related to
G4ExtrudedSolid and G4TessellatedSolid.
Corrected initialisation of algorithm in G4TriangularFacet
constructor.
- G4ExtrudedSolid: fixed bug in the decomposition of polygonal
sides for quadrangular facets in MakeFacets(). Addresses
problem report
#1029.
- Enhanced GetPointOnSurface() for generic G4Polycone
and G4Polyhedra constructs.
- Added missing accessors to G4EllipticalCone.
- Volumes
- G4ReflectionFactory: corrected singleton definition;
return const G4String& instead of copy in
GetVolumesNameExtension().
Global
- G4UnitsTable: added units for electric-field, V/m.
- G4PhysicsVector: introduced cubic spline interpolation, optionally
selectable. Optimised implementation of GetValue() method.
- G4LPhysicsFreeVector: corrected use of GetValue() to
adopt implementation available from the base class.
- Corrected initialisation of vectors to conform to definition in
G4PhysicsVector, and added protections against empty vectors.
- Corrected definition of copy-constructor and operator=() in
G4PhysicsVector and added corresponding definitions in derived
classes, where needed.
- Added missing constructor G4String(const char*, str_size).
- Modified G4RandomDirection global function to use unit radius
sphere surface algorithm instead of 8-quadrants technique, giving ~30%
performance boost in dedicated stress tests.
- Added header G4RandomTools.hh, implementing global utility methods for
random Lambertian vector and random plane vector. Implementation derived
from G4OpBoundaryProcess.
- Changed date for release 9.2.
Graphical Representations
- HepPolyhedronHype: fixed arrays upper-bound in constructor,
responsible for memory corruption in visualization of G4Hype
shape.
Hadronic Processes
- Replaced usage of G4NucleiPropertiesTable::GetBindingEnergy(Z,A)
with G4NucleiProperties::GetBindingEnergy(A,Z) in all affected
classes.
- Replaced usage of G4NucleiPropertiesTable::IsInTable() with
G4NucleiProperties::IsInStableTable() where necessary.
- Cross sections
- G4CrossSectionDataStore: added method SampleZandA(),
returning a G4Element and filling G4Nucleus.
- G4GlauberGribovCrossSection provides a smooth transition from
Barashenkov cross-sections at 90 GeV; set threshold to
90 GeV where this cross-section is used.
- G4PiNuclearCrossSection: commented out debug calls to
G4ping.
- G4BGGPionElasticXS, G4BGGPionInelasticXS, G4BGGNucleonInelasticXS,
G4BGGNucleonElasticXS, G4UPiNuclearCrossSection: added proper
Coulomb barrier and cleanup implementations.
- Management
- Added class G4HadronicProcessStore, singleton class to keep
pointers to all registered hadronic processes and to provide dump of
process and models used in Physics List.
- Introduced new hadronic process subtype enum
G4HadronicProcessType; added to G4HadronicProcess
to identify process sub-types.
- Set process sub-type to fHadronInelastic for all process
- G4HadronicProcess:
- Some cleanup; use method SampleZandA() to select an
isotope and avoid use of debug local NanCheck();
avoid checking environment variables at run-time; directly fill
G4HadronicWhiteBoard.
- Implemented PostStepDoIt() and DumpPhysicsTable()
methods.
- Removed obsolete method SetDispatch().
- Make MeanFreePath() public to avoid interface change
(addressing problem report
#1035).
In future this method will become protected; a specific public
method will be provided for it.
- Cleanup derived processes (G4HadronInelasticProcess,
G4HadronElasticProcess....) moving destructors to source of a class
and use methods from the base class.
- Binary Cascade
- G4BinaryCascade, G4BinaryLightIonReaction: added name of the
model; commented out welcome message.
- Made static instance of G4Scatterer in G4BinaryCascade
class a data member instead, to avoid issues of static destruction at
job closure; resolves issue detected by Valgrind.
- Cascade
- Implemented code review for optimization and speed up.
- G4ElementaryParticleCollider: in method
GenerateMultiplicity(), removed large_cut which increases
multiplicity from 3 to 4 abruptly at 4 GeV and above. This
caused a sharp drop-off in the single pion spectra from pH
reactions. The effect in heavier nuclei is small.
- Introduced simple wrapper class G4CascadeMomentum meant to
replace usage of std::vector in the cascade code, to reduce
memory allocations. Modified cascade code accordingly.
- Added Coulomb barrier plus barrier penetration in
G4IntraNucleiCascader.
- Fixed multiplicity sampling in G4ElementaryParticleCollider
method generateMultiplicity(). Now partial cross-sections are
normalized to the total cross section instead of just the sum of 2-body
to 6-body final state cross sections.
Also fixed 2-body cross-sections above 7 GeV where they were too small.
Fixed the same cross-sections which appear in
G4CascadSpecialFunctions.
- Added comments to cross section tables in G4CascadSpecialFunctions
and G4ElementaryParticleCollider.
- Replaced GetAtomicMass() with GetNuclearMass() in
G4InuclEvaporation and G4BertiniEvaporation.
- Added name Bertini Cascade to G4CascadeInterface.
- Chiral Invariant Phase Space (CHIPS)
- Added G4QIonIonElastic process
- Added general process type to several processes.
Set process sub-type to 11 (elastic) for G4QElastic,
G4QIonIonElastic; sub-type 12 (inelastic) for
G4QCollision, G4QDiffraction, G4QGluonString,
G4QLowEnergy; sub-type 13 (capture) for G4QCaptureAtRest;
sub-type 15 (stopping) for G4PionMinusNuclearAtRestChips,
G4ProtonAntiProtonAtRestChips; sub-type 16 (quasi-elastic) for
G4QCoherentChargeExchange; sub-type 10 (unknown) for
G4QAtomicElectronScattering, G4QDiscProcessMixer.
Set process type ID to fHadronAtRest for G4QCaptureAtRest,
G4PionMinusNuclearAtRestChips and
G4ProtonAntiProtonAtRestChips.
- G4QCaptureAtRest: added registration in
G4HadronicProcessStore and PrintInfo() by adding
PreparePhysicsTable() and BuildPhysicsTable().
- G4GammaNuclearReaction: moved implementations from header to
source and added ID name "CHIPS".
- G4ElectroNuclearReaction: moved instantiation of HE model to
constructor from run time and added ID name "CHIPS".
- De-excitation
- G4PhotonEvaporation: atomic relaxation model is no longer
applied following internal electron conversion. Instead the vacant
shell index is passed to radioactive decay model, where the ARM is
applied.
- New inverse cross sections:
- OPT=1 Chetterjee's parameterization to reaction cross sections
from optical potential global fittings;
- OPT=2 as OPT=1 but for protons the Wellisch's parameterization
for protons is used (DEFAULT);
- OPT=3 Kalbach's modifications of Chatterjee's parameterization
of cross sections;
- OPT=4 as OPT=3 but for protons the Wellisch's parameterization
for protons is used.
- Integraded fixes in G4EvaporationProbabilities;
OPT=2 is set.
- Switched off FermiBreakUp by default.
- Upgrades to evaporation and handler.
- Fixed problem report
#1028
in G4CompetitiveFission::FissionCharge(); trivial change of
A to Af.
- Fix in G4GEMChannel according to
(anA,aZ) -> (AResidual,ZResidual) for pairing correction
in ExEnergy.
- Fix from JMQ for Zirconium
- Fixed minor memory leak in G4ExcitationHandler and
G4EvaporationChannel.
- Increased verbosity in G4Evaporation to try to understand
channel probability failure in very rare case.
- Trivial fix to prevent negative cross-sections for incident protons on
targets with A < Carbon.
- Elastic scattering
- G4ChargeExchangeProcess: added high and low energy protections
to cross-section. Process and model prepared to be used in physics
lists; energy threshold is set to 1.0 MeV.
- G4HadronElastic: added counts of abnornal sampling results
and printing out values in the destructor; fixed sampling of scattering
angle outside kinematically allowed interval.
- Set process sub-type according to enumerator for
G4UHadronElasticProcess and
G4ChargeExchangeProcess.
- High precision Neutron
- Improved energy and angular distributions for both scattered neutron
and recoil targets. Fixed missing inelastic gamma-ray lines.
Addresses problem report
#1008.
- Fixed bug for missed pouch-out particles.
- Introduced A and Z values of used NDL data for residual reconstruction.
- Adjusting final states based on the energy and momentum conservation.
- Limiting the sum of secondary energies.
- Fixed minor bug in G4NeutronHPLabAngularEnergy.
- Changed interpolation scheme for histogram in
G4NeutronHPInterpolator.
- Fixed bug in Sample() and GetXsec()
in G4NeutronHpVector.
- Prohibit level transition to oneself in G4NeutronHPDeExGammas.
- Fixed memory leak in G4NeutronHPPhotonDist and correcting data
disorder which could happen when both InitPartial() and
InitAngular() methods were called in same instance.
- Fixed calculation of residual momentum in
G4NeutronHPInelasticCompFS and
G4NeutronHPDiscreteTwoBody. Added protection for negative
energy results in very low energy (1E-6 eV) scattering in
G4NeutronHPElasticFS.
- Fixed minor memory leak in G4NeutronHPPhotonDist.
- Fixed problem in G4NeutronHPProduct resulting in too many secondaries
production in nd rections.
- Added protection in G4NeutronHPName for selecting data in
hydrogen and alpha.
- Fixed case of definition of G4PhysicsVector of length zero in
G4NeutronHPIsoData.
- Fixed memory leak in G4NeutronHPThermalScattering.
- Added protection for invalid read in G4NeutronHPFissionData
which caused run time errors.
- Fixed bug in G4NeutronHPChannel::Register(); added limitation
of trial for creating final states and added protection for pure 1H
case in G4NeutronHPInelastic.
- Updated data set to G4NDL3.13.
- Im_r_matrix
- G4XNNElasticLowE, G4XNNTotalLowE: avoid use of static call
to G4ParticleDefinition in destructor; resolves issue
detected by Valgrind.
- INCL/ABLA
- Provided two fission models: by default GSI SimFis3 fission is used.
Optional: SimFis18.
- Fixed serious data reading bug affecting the reading of some data
files.
- Fixed initialisation of several variables to zero and target nucleus
quantities. Improved coding style.
- Several array index handling (off-by-one) bugs fixed.
- Partial fix to the Alpha evaporation energies and fix to neutron
energies.
- Switched the transformation matrix indices in ABLA.
- Use GetNuclearMass() instead of GetAtomicMass() in
G4AblaEvaporation.
- Parton-String
- Revised string fragmentation and tuned parameters in FTF model for
Pi+P and pion-nucleon interactions. Implemented quasi-elastic
hadron-nucleus scattering in FTF and formation time; tuned string
tension.
- Fixed logic in G4QGSParticipants algorithm: avoid usage of
iterator decrementing in loops. Addresses problem report
#1018.
- Fixed memory leak in G4FTFModel destructor.
- Photolepton-hadron
- G4MuNuclearInteraction: added SubType to
fHadronInelastic and registration in the
G4HadronicProcessStore; added PreparePhysicsTable()
method and some code cleanup.
- Pre-equilibrium
- Fixed G4PreCompoundNeutron using data for 22 MeV protons off Zirconium.
- Added data member initialisation to G4VPreCompoundTransitions,
responsible for run-time errors detected by Valgrind.
- Added protection for close to zero excitation energy in
G4PreCompoundModel to not try to
de-excite.
- QMD Reaction
- Fixed and changed sampling method of impact parameter in
G4QMDReaction. Added deltaT in signature of
CalKinematicsOfBinaryCollisions(). Fixed bug in
nucleon projectile.
- Added Update() method to G4QMDMeanField. Added
hit flag and related methods to G4QMDParticipant.
Added Erase/InsertParticipant() methods to G4QMDSystem.
- Added several required updates of Mean Field; modified handling of
absorption case in G4QMDCollision.
- Fixed minor memory leaks.
- Radioactive Decay
- G4NuclearDecayChannel: ARM is no longer applied in
photon-evaporation for IT mode and is now applied at the end of
DecayIt(); now using the correct shell index in appling ARM
and switching on Auger electron production. Checking the residual
kinetic energy after ARM and adding it to the atom.
- Replaced legacy calls to exit() with G4Exception
in G4RadioactiveDecay and G4NuclearDecayChannel.
- Re-Parameterized Gheisha
- Fixed energy non-conservation problem in G4RPGFragmentation
and in G4RPGReaction. Fixed K0 ID problem in
G4RPGInelastic.
- Processes
- Set sub-types for G4HadronCaptureProcess (to
fCapture), G4HadronFissionProcess (to
fFission) and to G4HadronElasticProcess
(to fHadronElastic).
- Use PostStepDoIt() and DumpPhysicsTable() from
the base class G4HadronicProcess.
- Stopping
- Set process sub-type to corresponding IDs in enumerator for
AtRest processes.
- G4MuonMinusCaptureAtRest: added registration in
G4HadronicprocessStore and PrintInfo() by adding
PreparePhysicsTable() and BuildPhysicsTable()
methods.
Intercoms
- Added a new function in G4UIcommandTree to find a subtree.
- Fixed improper comment treatment for line continue characters "_" in class
G4UIbatch. Addresses problem report
#1034.
Interfaces
- Improved layout of the Qt interface for Qt3.
- Added ability to launch G4Qt visualization without a
G4UIQt interface.
- Added ability to have an external Qapp.
- Extended Qt driver help widget to include a search area.
- Removed Moc files, now autogenerated through central scripts.
Materials
- G4NistElementBuilder: provide unique name for each isotope of an
element. Use best known parameterisation for total binding energy of atoms,
use standard masses for lightest stable isotopes.
- G4IonisParamElm: added Fermi velocity and L-factor (both used for
parameterizations of the effective charge and straggling of ions).
G4IonisParamMat: use Fermi velocity and L-factor from
G4IonisParamElm.
- Added new classes G4IronStoppingICRU73,
G4MaterialStoppingICRU73 and G4SimpleMaterialStoppingICRU73
for ICRU'73 data on stopping powers in the range 25 keV/n - 10 MeV/n.
- Added virtual destructor to G4SurfaceProperty and derivated.
Addresses problem report
#1014.
Changed method name from DumpInfo() to DumpTableInfo().
- G4Material: use array size defined in material constructor,
extend it if a component is a compound material.
- G4Element: use G4int(fZeff) coherently in the implementation.
- G4Isotope: use AtomicMass instead of NuclearMass.
- Added SetName() method to G4Element, G4Isotope, G4Material
for use in detector persistency. Use const G4String& for accessors,
instead of implicit copy.
- G4NistManager and G4NistElementBuilder: added method
GetTotalElectronBindingEnergy().
- G4NistManager: added inline methods to speed up EM computations.
- G4IonisParamMat: added fMeanEnergyPerIon and Set/Get
methods.
- Added dummy default constructor in G4OpticalSurface and
G4SurfaceProperty.
Particles
- Added UI command for setting the verbosity level on the particle-table.
- Modified proton mass to be equal to proton_mass_c2 from updated
PDG-2008 values in CLHEP. Updated masses and widths according to PDG-2008.
- Avoid direct comparison of strings in method G4IonTable::IsIon().
- Hidden all methods of getting mass of nucleus except for
G4NucleiProperties::GetNuclearMass(), which should be now used.
Cashed pointers/masses of light nuclei in G4NucleiProperties.
- Added a table of sum of masses of orbital electrons and their binding
energy in G4NucleiProperties. Added methods of taking A
and Z arguments as double. Added IsInStableTable() as
replace of G4NucleiPropertiesTable::IsInTable(). Promoted to
public methods GetBindingEnergy() and GetMassExcess().
- Fix for using raw number of electron mass in calculation of magnetic
moment for e+/-.
- Fixed magnetic momentum for leptons.
- New sub-module adjoint for adjoint-particles to be used in
reverse MC simulations.
- Added more printout in G4HtmlPPReporter class.
Persistency
- ASCII
- First implementation of a new reader module for detector persistency
in ASCII text format, derived from GAMOS application.
- GDML
- Introducing GDML writer: material properties; support for parameterised
volumes; division volumes; replica volumes; matrices; naming of physical
volumes; Twistedtrap, Twistedtubs, Tet, Twistedbox, Twistedtrd, Hype,
Orb, Para, Ellipsoid, Ellipticaltube, Polyhedra, Torus, Cone, Tube,
Extruded, Boolean (intersection, subtraction, union), Reflections
(using scaled transformation) solids; elements and composite materials.
- Updated schema to include new features introduced in reader/writer plugins.
Now requiring GDML_3_0_0 version of the schema.
- Added support for new serializer API as introduced in Xerces-3.0.0.
- Added support for modular files in GDML writer and reader.
Added handling of precision and optional rounding of errors for
imported/exported values. Added schema validation mechanism and schema
files.
- Implemented mechanism for importing GDML descriptions with extensions
to the GDML schema, identified by a new tag extension.
- Added features to reader: physical-volumes name; temperature, pressure
and state of materials; NIST support. Added support for border surface
and skin surface properties.
- Added optional handling if precision on values loaded.
- Implemented filtering of names in reader to remove from entity names
appended reference pointer which may have been generated. Simplified
name generated for physical-volumes. Added argument to Write() in
G4GDMLParser for specify if appending or not reference pointer to
generated names; default is TRUE.
- Enhanced name stripping in G4GDMLRead, to remove also
additional IDs prepended to the original name of entities in the case
of modular GDML files. Added StripNamePointers() method to
G4GDMLParser, utility to be invoked in the user-code to strip
off pointers from entity names in a GDML modular setup after loading
all modules. Get rid of module-name pre-pended to entity names.
- Fixes in naming convention for solids; added specification of units
where missing. Introduced parsing of vertices for tessellated solids
to avoid duplication in writing.
- Added possibility to read/write replication for Rho and Phi axes.
- Added G4Paraboloid and G4EllipticalCone to list of
supported solids for reader and writer.
- Added class G4STRead, for importing of STEP-Tools generated
geometry setups.
- Cleared compilation warnings on Intel-icc compiler; general code
review.
Physics lists
- Updated FTF* lists and physics NOT to use quasi-elastic from CHIPS.
FTF now has quasi-elastic included in the FTF model itself.
- Updated option2 EM physics (EMX) and added option3.
- Added hadron induced bremsstrahlung and pair production for proton and pions.
- Set inactive for AlongStep for Bremsstrahlung and pair
production processes in all EM builders, bringing a minor CPU improvement.
- Added specialized G4eMultipleScattering for electrons and positrons
in all EM builders.
- Added sigma_c+, sigma_c++ in the list of stable hadrons.
- New helper class G4PhysListFactory for building Physics Lists.
- G4NeutronTrackingCut: added methods for directly defining time
and energy limits.
- G4HadronElasticPhysics: added optional Barashenkov
cross-section.
- G4ChargeExchangePhysics: new builder for hadronic charge exchange process for
proton, neutron and pions.
- QBBC: use FTF as a default, removed obsolete methods.
Added temporary variant to QBBC, equivalent to QGSP_BERT without LHEP
for protons, neutrons and pions. Added charge exchange process.
Added QBBCG option and G4PhysListFactory.
- Added names to string models builders.
- Removed obsolete class G4HadronProcessStore.
Track & Tracking
- G4SteppingManager: corrected conditions for default
(InActivated) and NotForced processes.
Fixed missing update of secondaries utility counter.
- Reset non-ionizing energy loss in G4Step::ResetTotalEnergyDeposit()
in order to initialize NIEL in each step.
- G4Track: changed to const pointers fpCreatorProcess
and fpLCAtVertex.
- G4StepPoint: changed to const pointer
fpProcessDefinedStep data member.
Visualization
- Overall
- Extended 2D drawing capability, covering now also G4Circle,
G4Polyhedron, G4Polyline, G4Polymarker and G4Square.
- Fixed gcc-4.3.0 compiler warnings.
- Management
- Trapped recursive use of /vis/reviewKeptEvents.
- Added function for IncrementPan with X,Y,Z values.
- Modeling
- OpenGL
- Fixed DBL_MAX problem in 2D drawing.
- Qt driver
- Added many improvements for Qt3.
- Changed last letter of driver names to lower case, from
OGLSQT/OGLIQT to OGLSQt/OGLIQt.
- Fixed crash that occurred when had no scene.
- Added commands for mouse wheel zoom.
- Fixed problem when launching QT VIS without QT UI (N02 for example).
- Added movie making dialog panel
(Right button->Actions->Movie parameters).
- Added ability to "auto rotate" volume via quick mouse move.
- Added moving camera on left/right/up/down arrow, going
forward/backward with SHIFT+up/down, zoom in with +/- keys.
- Fixed bug in help command whereby click callback on a item was not
working on Windows.
- Fixed crash at exit on Mac.
- Added many graphic export options (vector and pixel) including EPS.
- Fixed aspect ratio deformation on widget resize.
- Removed Moc files, now autogenerated through config/common.gmk.
Environments
- Introduced g4py module name.
- Removed legacy interface to GDML external module.
- Updated G4Py configure scripts, fixed some minor bugs and
general code cleanup.
Data sets
- New data for neutron cross-sections, G4NDL.3.13:
- Added rest of isotope in JENDL_HE neutron files:
N(7), Ti(46, 47, 48, 49 50), V(51), Cr(50, 52, 53, 54), Mn(55),
Co(59), Ni(58, 60, 61, 62, 62), Zr(90, 91, 92, 94, 96), Nb(94),
W(180, 182, 183, 184, 186), Hg(196, 198, 199, 200, 201, 202, 204)
- New Elastic and Inelastic cross section from "JENDL High Energy File
2007" All 107 isotopes are converted (except for Am242m).
- Added data file: Inelastic/Gammas/z63.a149.
- Replaced Nitrogen15 data (source: ENDF6).
- Corrected wrong entries in some Inelastic and Capture data.
Previous files are still available in each directory with suffix
of .org.
- New low-energy data set, G4EMLOW.6.2:
- Added in DNA tables for: Champion elastic scattering model and
Champion Positronium creation model.
Examples
- Various fixes, improvements, adoption of new features.
- Updated reference outputs.
- advanced
- brachytherapy
- Corrected and updated input macros.
- gammaray_telescope
- Fixed compilation problems in MuonPhysicsList class.
- hadrontherapy
- Reviewed example to update to the new beam line setup.
- Corrections in the Low Energy Electromagnetic physic lists.
Improved the electromagnetic models for the generic ions.
Corrected cross sections definitions for ions. Revised the
definition and use of the electromagnetic options for the use
with the Standard models.
- Added new approach for the choice of the physic models. Now
packaged physic lists can be used as alternative to the physic
models implemented in the class files EM, HE and HI.
- Fixed path of macro files.
- microbeam
- Corrected typos in zero field region in MicrobeamEMField.
- microdosimetry
- New application simulating 10 keV tracks Helium+ (positive
charge is +e) particle in liquid water using only G4DNA
processes.
- Rich
- Fixed compilation problems in EventAction class.
- extended
- Updated EM standard physics-lists and EM options and changed
default histograms format in EM examples.
- electromagnetic/TestEm7
- Added process type to G4SceenNuclearRecoil.
- Added
- standardICRU73
physics list in which ion ionisation
is simulated using new model G4IonLossParametrisedModel, configured
via G4EmConfigurator.
- electromagnetic/TestEm8
- Removed local components of PhysicsList and use
G4EmConfigurator to configure PAI model.
- electromagnetic/TestEm9
- Added computation of ratios E1/E9 and E1/E25.
- Added PhysLists with relativistic LPM model and updated macros.
- Added control on number of events with Edep < 80%.
- eventgenerator/exgps
- Updated analysis code and macros with AIDA.
- eventgenerator/pythia
- New example decayer6 of external decayer implementation
based on Pythia6.
- field/field04
- Fixed setup of random engine in main().
- Changed physics list to emstandard. Added charge
exchange.
- hadronic/Hadr00
- New example demonstrating how to use G4PhysListFactory
to build physics lists and G4HadronicProcessStore to
access cross sections.
- hadronic/Hadr01
- Improved physics-lists output. Added charge exchange.
- medical/DICOM
- Included G4PSDoseDeposit_RegNav to distribute dose along
voxels, including msc and energy loss corrections, for the case
of skipping voxel with equal materials when using regular
navigation.
- medical/fanoCavity[2]
- Updated EM standard physics-lists and EM options and changed
default histograms format.
- optical/LXe
- Added Birks constant for the LXe scintillator and Polystyrene
scintillator.
- Added call to SetMaxBetaChangePerStep() of Cherenkov
in LXeOpticalPhysics.
- persistency/gdml
- Added examples set for GDML plugin module: new example G02
showing how to use GDML module for reading and writing; also showing
how to import STEP Tools CAD files.
Imported old GDML example originally placed inside
extended/gdml and renamed G01.
- G01: updated loop.gdml and solids.gdml
descriptions to fix schema validation warnings; added new GDML
samples compliant with GDML_3_0_0 and removed obsolete ones.
Added example in main() how to retrieve auxiliary
information.
- G03: new example showing how to extend the GDML schema
in input.
- persistency/P03
- New example showing usage of ASCII text persistency for detector
description.
- radioactivedecay/exrdm
- exdrmMaterialMessenger: fixed units for density.
- exdrmPhysicsList: fixed definition of cuts; simplified
logic for setting of hadronic physics; corrected problem of double
instantiation of radioactive decay.
- Use AIDA setup from central scripts. Updated analysis code and
macros with AIDA.
- Fixed compilation warnings.
- runAndEvent/RE03
- Add new input macro run4.mac with cylindrical scoring
mesh.
novice
- N02
- PhysicsList: added method AddStepMax() for
G4StepLimiter. Updated EM standard physics-list.
- DetectorConstruction: added method
SetMaxStep().
- DetectorMessenger: added command
/N02/det/stepMax.
- N03
- Updated EM standard physics-list.
- Use G4hMultipleScattering for muons and protons.
- Added Qt setup to vis macros.
- N06
- Use dynamic_cast for surface in
ExN06DetectorConstruction.
- Added call to SetMaxBetaChangePerStep() of Cherenkov in
ExN06PhysicsList.