Geant4 8.1 Release Notes
The code and binary libraries for the supported systems are available
through our Source
Code Web page.
Please refer to the
Geant4
User Documentation for further information about using Geant4.
Contents
- Supported and Tested Platforms
- AIDA and CLHEP
- Known Run-Time Problems
- Compilation Warnings
- Known Run-Time Warnings
- Items for migration of the user code
- Geant4 Software License
- Detailed list of changes and fixes
1. Supported and Tested Platforms
Official platforms:
- SUN Solaris 5.8, C++ CC-5.4 Patch 111715-02.
- Linux, gcc 3.2.3 or gcc 3.4.5.
This configuration was tested on 32 bits architectures (Intel)
and 64 bits architectures (AMD) with the Scientific Linux CERN 3
(SLC3) distribution (based on RedHat Linux Enterprise 3) and
Scientific Linux CERN 4 (SLC4) distribution (based on RedHat Linux
Enterprise 4).
Versions of Geant4 have also been compiled successfully on other
Linux distributions, like Debian, Suse or other RedHat systems.
- Windows/XP and CygWin Tools with: Visual C++ 7.1 .NET
More verified configurations:
- SUN Solaris 5.8, C++ CC-5.5
- Linux, gcc-4.1.1
- Linux, Intel-icc 8.0
- MacOS 10.4, gcc-4.0.1
- Windows/XP and CygWin Tools with: Visual C++ 8.0 (Visual Studio 2005)
Platforms configured but not tested and not supported:
- AIX 4.3.2, xlC 6.0
- DEC V4.0, cxx C++ V6.1-027
- HP 10.20, aCC C++ B3910B A.01.23
- SGI V6.5.5, CC 7.2.1
2. AIDA and CLHEP
Geant4 8.1 requires the installation of
CLHEP.
Tests have been performed with CLHEP-1.9.2.3
The software has been verified also with CLHEP-2.0.2.3.
Geant4 8.1 examples with histogramming cowork with AIDA 3.2.1
implementations. These include:
AIDA headers can be downloaded from:
http://aida.freehep.org
3. Known Run-Time Problems and Limitations
For a complete list of outstanding run-time problems and to submit any
problem you may find running this version of Geant4, please refer to the
Geant4 Problem Reporting
System.
4. Compilation Warnings
There may be compilation warnings on some platforms. We do not believe
that any will lead to incorrect run-time behaviour.
5. Known Run-Time Warnings
The following message can be written to error output while tracking.
We believe it does not give rise to incorrect behaviour.
G4PropagateInField: Warning: Particle is looping
- tracking in field will be stopped.
It has performed 1000 steps in Field while a maximum of 1000
are allowed.
6. Items for migration of the user code
Some migrations may be necessary for advanced uses of features in Geant4
in order to upgrade from release 8.0 to release 8.1. Note that a full reinstallation
of libraries (or a full recompilation) and a recompilation of user applications
is required.
Standard Electromagnetic physics
Some improvements are introduced to multiple scattering.
As a consequence of these changes in the model, the following applies in
this release:
- the simulation of the back-scattering is improved;
- the scattering in very thin layers is better than the one in version 8.0;
- the tail of the angular distribution is now material dependent;
- the visible energy in sampling calorimeters is less sensitive
to the value of the production threshold.
It has been reintroduced the option to utilise smaller cuts in vicinity of
the geometrical boundary. The subcutoff option has been verified for
a number of simplified sampling calorimeter setups.
The simulation of ionization for ions was also improved. The data from NIST
databases for protons and helium ion and ICRU73 data for the carbon ion are
included for the first time. An interface to add user data on stopping
power for particular ion in particular media is provided.
A new version of the Synchrotron radiation is released.
The user interfaces allowing to set/access EM options, cross sections and
stopping powers are extended and improved.
Hadronic physics: Bertini Cascade
In this release, the G4BERTINI_KAON conditional assembly flag has
been removed from the Bertini Cascade code, so that it is no longer needed
for the user to set them to instruct Bertini handling of strange particles.
Physics Lists
Physics lists are updated in order to utilize recent developments
in hadronic and electromagnetic physics. In particular, the more advanced
model sampling of capture of negatively charged hadrons at rest is used.
The new elastic process combining available models of elastic scattering
is introduced with significant improvement of elastic scattering on
hydrogen; the Binary and Bertini cascade developments are also utilized.
7. Geant4 Software License
As from this release, a new Software License applies to the Geant4 code.
The details and the list of copyright holders is available at
http://cern.ch/geant4/license
and also in a text file LICENSE distributed with the source code.
8. Detailed list of changes and fixes
These are the main new features/fixes included in this release since the
last patched public release (for the detailed list of fixes/additions,
please refer to the related History files provided in most packages):
Configuration
- Configure script:
- Automatically set LD_LIBRARY_PATH for shared libraries
and binary PATH to binaries in the scripts.
- Fixed problem on setting shared libraries and corrected setting of
OGLHOME for MacOSX.
- Fixed typo for RAYTRACERX.
- Fixed problem in caching of DATA paths.
- Correct check/set for OpenInventor visualization driver.
- Probe for existance of X11, XM, XAW.
- Darwin-g++: corrected linker options for generation of dynamic
libraries. Now dynamic libraries on MacOSX work correctly. Tested on
MacOS 10.4 with gcc-4.0.1.
- Removed defaults for X11, XM, XAW flags in architecture.gmk
and added explicit settings in architecture specific setups protected
for optional customisation.
- binmake.gmk: fixed old-standing warning on WIN32-VC for file
extension of target object file.
Electromagnetic Processes (Low-energy)
- New developments (Beta release): photoelectric angular distribution
models Geant4-DNA for very lowE physics processes in water.
The present version of the DNA processes is meant as a first beta
release; cannot be considered suitable for physics application yet.
Electromagnetic Processes (Standard)
- Standard
- Substituted method SetStepLimits() by
SetStepFunction() in all energy loss processes.
- Moved initialization of default values to constructors of all models
and processes to fix problems at initialization for the case of many
runs in one macro.
- G4MultipleScattering:
- Step limit calculation moved to model part G4UrbanMscModel.
- Changed values of data members 'tkinlimit', 'factail';
- Providing possibility of reinitialization of 'facrange' and
'steppingAlgorithm' parameters between runs;
- Changed default value of 'facgeom' (4 -> 3.5)
- Added set function for data member factail; z
sampling by default.
- G4MscModel renamed G4UrbanMscModel:
- Changed the value of the parameter theta0,
improved scattering in thin layers.
- Changes in ComputeTruePathLengthLimit():
modified 'scaling' of facrange for high energies,
data member tlimitmin = max(lambda0/25, 5 nm).
- Changes in SampleCosineTheta(), changed tail of angular
distribution.
- Removed some data members and code cleaning; revised z
sampling.
- Now computing transport cross section and not mfp.
- Bug fix in the SampleCosineTheta() method and fixed a
problem of non-initialized variable.
- Make stepping algorithm be active for ions by default.
- G4MscModel71: now computing transport cross section and not
mfp.
- Added first test-prototype classes of elastic Coulomb scattering:
G4eCoulombScatteringModel, G4CoulombScatteringModel,
G4CoulombScattering.
- G4PolarizedComptonScattering, G4ComptonScattering52,
G4hIonisation52, G4eIonisation52,
G4eBremsstrahlung52: methods
ComputeCrossSectionPerAtom() and
ComputeRestrictedMeandEdx() are now public.
- G4BraggModel, G4BraggIonModel,
G4eeToTwoGammaModel, G4MollerBhabhaModel
G4BetheBlochModel, G4PEEffectModel,
G4eBremsstrahlungModel: added functions
ComputeCrossSectionPerElectron/Atom().
- G4MollerBhabhaModel: fixed computation of MinEnergyCut,
important for dEdx calculation with small cut value (< 10 mum)
in media with high Z (like lead).
- G4hIonisation: added mass and spin effects (important for
pion ionization at high and moderate energies).
- G4BetheBlochModel: use different formula for muons and hadrons
for max energy transfer to delta-electrons (taking into account hadron
size effects, important for ionization of very energetic hadrons).
- G4BraggModel and G4BraggIonModel: added usage of the
new classes G4ASTARStopping and G4PSTARStopping with
NIST data on stopping powers.
- G4PAIModel and G4PAIPhotonModel:
- Fixed cases of NaN value for delta direction when zero cut.
- Fixed problem for low energy hadrons.
- Providing hiding of some technical verbose messages.
- G4ionIonisation:
- Moved G4LossTableManager::Instance()->EmCorrections()
to constructor to avoid problems at initialization for many runs
in one macro.
- Added usage of the new class G4WaterStopping for light
ion stopping in water.
- Added a possibility to use user data on stopping power.
- G4BetheHeitlerModel: removed obsolete function
InitialiseCrossSectionPerAtom().
- G4eBremsstrahlung: use gammaThreshold from
G4LossTableManager for more easier initialization (CMS
request).
- G4eBremsstrahlungModel:
- Fixed problem of initialization in the case when cuts are not
defined (needed for extrapolation and for unit tests).
- Fixed problem of energy loss calculation below 10 MeV.
- G4KleinNishinaModel: removed upper energy limit to have a
smooth cross section.
- G4eplusAnnihilation: removed cut dependence in
AtRestDoIt().
- Removed obsolete G4SCProcessorStand class.
- Muons
- Substituted method SetStepLimits() by
SetStepFunction() in all energy loss processes.
- Moved initialization of default values to constructors of all models
and processes to fix problems at initialization for the case of many
runs in one macro.
- G4MuBetheBlochModel, G4MuBremsstrahlungModel and
G4MuPairProductionModel: added functions
ComputeCrossSectionPerElectron/Atom().
- G4MuIonisation52, G4MuBremsstrahlung52,
G4MuPairProduction52: method
ComputeMicroscopicCrossSection() is now public.
- G4MuBremsstrahlungModel: fixed problem of initialization in
the case when cuts are not defined (needed for extrapolation and for
unit tests).
- G4EnergyLossForExtrapolator:
- Fixed bug in units.
- Added muon tables.
- Moved initialization from the constructor to the first public
call; added verbose variable into constructor.
- HighEnergy
- Moved initialization of default values to constructors of all models
and processes to fix problems at initialization for the case of many
runs in one macro.
- Utils
- G4EmProcessOptions:
- Added method SetLPMFlag() in order to set flag of LPM
effect.
- Added method SetBremsstrahlungTh() (CMS request).
- Added method SetBuildCSDARange().
- G4EnergyLossMessenger: added commands
MscStepLimitation. CSDARange and LPM.
- G4VEnergyLossProcess:
- Subcutoff calculation significantly updated, results of tests
show that this regime can be used for sampling calorimeters.
- Added option to sample range straggling at the last step
of a particle.
- Reset currentCouple when StepFunction is changed (fixed
initialization problem for case of many runs in a macro).
- Added store energy loss tables for bremsstrahlung.
- Added method SetDynamicMassCharge(), used by
ionIonisation; make use of flag isIonisation in
AlongStep, PrintInfo, and StoreTables (needed for
activate/inactivate regime).
- Added GetModelByIndex() and NumberOfModels()
methods.
- Fixed extra cout for heavy ions in gas.
- Renamed in all places PreciseRange to CSDARange.
- Substituted SetStepLimits() with SetStepFunction().
- Improved printout.
- Remove minStepLimit member and use finalRange.
- G4VEmProcess:
- ComputeCrossSectionPerAtom(): put default value
A=0, to keep compatibility with version 5.2.
- Added GetModelByIndex() and NumberOfModels()
methods.
- Removed dependence on G4NistManager.
- G4VMultipleScattering:
- Added GetModelByIndex() and NumberOfModels()
methods.
- Lambda table keeps now cross section and not mfp.
- G4VEmModel:
- ComputeCrossSectionPerAtom(): put default value
A=0, to keep compatibility with version 5.2.
- Added method ComputeMeanFreePath().
- Optimized interfaces to multiple-scattering model.
- G4LossTableManager:
- Added methods SetMscStepLimitation(),
FacRange(), and MscFlag().
- Substituted PreciseRange with CSDARange.
- Fixed logic to ensure rebuilding of PhysicsTable in the regime
of activate/deactivate processes.
- Set flag isIonisation for a process holding table with
sum of dEdx and added flag of LPM effect.
- Added Get/SetBremsstrahlungTh() methods (CMS request).
- G4EmTableType enumerator is added to reduce code duplication
inside G4LossTableManager, G4VEnergyLossProcess and
other classes.
- G4EmCorrections:
- Substituted PreciseRange with CSDARange.
- Introduced an option to peak up user data for stopping power
for particular ion and media.
- Added finite size correction - important for high energy
hadrons and ions.
- Cleanup of the code.
- G4EmCalculator:
- Added GetCSDARange() method.
- Corrections/bug fixes in GetCrossSectionPerVolume(),
GetCrossSectionPerAtom() and
ComputeCrossSectionPerAtom().
- Added public methods ComputeTotalDEDX() and
ComputeElectronicDEDX(); updated GetDEDX()
for ions.
- Fixed problem for gammas concerning
GetCrossSectionPerVolume().
- G4ionEffectiveCharge: extended upper limit to 50 MeV
(important for ions with large Z).
- Added dummy class G4DummyModel.
- Removed obsolete interface class G4VSCProcessor.
- Xrays
- G4TransitionRadiation:
- New algorithm for XTR angular distribution based on the transparent
regular radiator. The method can help for more precise estimation
of XTR angular distribution needed in tracking applications of XTR
detectors (ATLAS request).
- Updated tested algorithm for XTR angular distribution based on the
transparent regular radiator. The method takes into account the
angular distribution for given energy and gets activated by
SetAngleRadDistr(true) method just after the construction
of XTR object.
- Tuned angular distribution of XTR according to transparent regular
approximation.
- G4SynchrotronRadiation:
- Moved to module xrays from standard.
- Split in two processes: G4SynchrotronRadiation and
G4SynchrotronRadiationInMat, the first using analytical
solution for description of the gamma spectrum, the second one
using numerical integration.
- Introduced new methods for angular distribution.
- Updated methods for calculation of integral number spectrum.
- Enhanced to set polarization and work with local magnetic-fields
attached to single volumes.
- Fixed bug for unit polarization in PostStepDoIt().
Event
- G4EventManager:
- Now setting pointer to G4Event before the state is
changed.
- Storing inside the event the random number status.
- Imported G4RayShooter class from the visualization RayTracer
module.
- Minor fix in alternative G4ParticleGun constructor.
General Processes: Management, Cuts, Optical
- Management
- Extended signature of G4WrapperProcess::StartTracking()
to take G4Track* as argument.
- Cuts
- Fixed memory leak in G4VRangeToEnergyConverter::BuildLossTable(),
fixing a problem detected and reported by ATLAS.
- Fixed memory leak in G4ProductionCutsTable and
G4PhysicsTableHelper.
- Optical
- Fix default behaviour for unified model of dielectric_metal.
Addresses problem report #842.
- The WLS time delay can now be a delta function or exponential.
New classes: G4VWLSTimeGeneratorProfile,
G4WLSTimeGeneratorProfileDelta and
G4WLSTimeGeneratorProfileExponential.
Geometry
- Divisions
- Revised text in G4Exceptions thrown by various classes.
- Magnetic field
- G4FieldManager: added missing GetChordFinder()
method. Addresses problem report #847.
- G4FieldTrack:
- Added charge and moments to FieldTrack, with accessors.
- Added new constructors, one with charge and without velocity
and one taking a const reference to Spin.
- New implementation method UpdateFourMomentum().
- Correction in G4ExactHelixStepper and made Stepper()
method virtual in G4MagHelicalStepper to enable
G4ExactHelixStepper to override it.
- Streaming operator takes const reference and outputs momentum
and direction magnitudes.
- Management
- G4Region:
- Support material scanning for nested parameterisations. Moved classes
G4VNestedParameterisation and G4VVolumeMaterialScanner
from volumes module.
- Fixed implementation of utility method GetParentRegion() to
return a boolean flag as argument, to identify if parent region is
unique or not.
- Simplified implementation of method BelongsTo(PV*).
- Workaround in G4SmartVoxelHeader::BuildNodes() to avoid rare
cases of negative extent returned by volumes due to malformed
geometries or inaccurate extent calculation.
- Modified G4VStoreNotifier class to be now a typedef
of G4VNotifier which is moved in the global module.
Adapted stores to the new configuration.
- Moved G4AssemblyTriplet class to volumes module.
- G4VPhysicalVolume: return const G4String& for
GetName() instead of a string copy.
- Navigation
- Extended G4TransportationManager to handle multiple
navigators. Preserved interface for navigation in mass/tracking
geometry.
- Added activation flag to G4Navigator and related accessor
methods.
- Solids
- Boolean:
- Fix in G4IntersectionSolid::CalculateExtent() for the
correctly handling extent computation for nested intersections
and always respect the rule pMax > pMin.
- CSG:
- G4Tubs: added protection against NaNs in
CalculateExtent() to avoid sqrt() of negative
numbers due to round-off.
- Specific:
- Introducing first implementation of a tessellated solid,
i.e. a solid which can be composed of arbitrary triangular
and/or quadrangular facets. New classes:
G4QuadrangularFacet, G4TessellatedSolid,
G4TriangularFacet and G4VFacet.
- G4TwistedTubs: defined approximated estimation for
GetCubicVolume().
- Fix in G4Ellipsoid::SetZCuts() and
G4EllipticalTube::SetZCut() for usage of uninitialised
variables.
- G4Polycone: added protection against NaNs in
G4PolyconeSide::Normal() for points at the origin.
- Added accessor method GetVertices() in G4Tet to
return the list of vertices composing the solid. Required for
GDML persistency.
- Volumes
- G4AssemblyVolume:
- Now G4AssemblyVolume can support assembly of assemblies
and reflections. Reviewed and modified MakeImprint()
methods to act recursively.
- Added methods GetVolumesIterator() and
TotalImprintedVolumes() for accessing the list
of physical-volumes imprinted.
- Added default boolean argument to MakeImprint() methods
to allow for optional check of overlaps of constituent volumes.
- Extended overlaps check also for reflection of placements.
- Protect against checking overlaps on world volume placement ...
- Moved G4VNestedParameterisation and
G4VVolumeMaterialScanner classes to management
module, to support material scanning in G4Region.
- Moved G4AssemblyTriplet class from management
module.
Global
- G4UnitsTable: added GeV/cm, MeV/cm,
keV/cm, eV/cm (Energy/Length), g/cm2
("Mass/Surface") and MeV*cm2/g ..etc.. ("Energy*Surface/Mass").
- Added G4VNotifier class, renamed from G4VStoreNotifier
implemented inside the geometry module. The class is a simple
abstract class allowing for implementation of user notifiers to be
activated for example at registration/deregistration of objects in
stores.
- Clear entries in table in destructor of G4UnitDefinition.
Graphical Representations
- Added new G4PolyhedronArbitrary class for creating arbitrary
G4Polyhedron objects out of vertices and indices.
- Added classes G4VFilter and G4SmartFilter.
- Added operator<<() for G4Text, G4Circle,
G4Square and G4Polyhedron. Improved/tidied
operator<<() for G4Polyline, G4VMarker and
G4VisAttributes.
- G4VGraphicsScene: added Begin/EndPrimitives2D()
methods.
- G4VVisManager: added Draw2d(const G4Text&) and
FilterTrajectory() methods.
Materials
- G4NistMaterialBuilder:
- Added method ConstructNewGasMaterial().
- Added warning flag to control standard output.
- Fixed graphite description.
- G4NistManager:
- Added GetAtomicMassAmu(Z) and GetIsotopeAbundance()
methods.
- Added warning flag to control standard output.
- Added GetIsotopeAbundance() method in G4NistElementBuider.
- Fixed bug in G4NistMaterialManager in regime of combined
material definition (partially via NIST DB and partially user-defined).
Hadronic Processes
- management:
- G4HadronicProcess::ChooseAandZ(): throw fatal exception
if Z>92 is chosen.
- G4HadronicProcess::GeneralPostStepDoIt(): for suspended tracks,
allow PostStep action to occur at end of step, but maintain suspended
track status. This avoids the "unknown track status" warning for
suspended tracks.
- G4EnergyRangeManager: in method GetHadronicInteraction(),
print out some diagnostic information for the exception which occurs
when two hadronic models completely overlap in energy.
- models/cascade:
- Removed G4BERTINI_KAON conditional assembly flags. Kaon and
hyperon interactions are now automatically included.
- G4ElasticCascadeInterface now derives from
G4VIntraNuclearTransportModel instead of
G4HadronElastic. Code now checks for the case when no elastic
scattering occurs. If so, original bullet and target are returned.
- models/chiral_invariant_phase_space:
- Added gamma decay for forced hypernucleus decay.
- Modify G4StringChipsParticleLevelInterface in order to fix
energy/momentum conservation in QGSC.
- Added new prototype class G4QElastic for precise elastic scattering
simulation in CHIPS.
- Improved high-t exponential behavior of pp elastic scattering.
- Added isotope-symmetric reactions nd(=pd) and nHe4(=pHe4).
- Fixed negative value to sqrt() in G4Quasmon and
G4QEnvironment.
- CHIPS muon-nuclear, photo-nuclear, electro-nuclear and tau-nuclear
reactions have been introduced.
- Upgraded cashing method for the CHIPS cross-sections.
- models/coherent_elastic:
- New process G4UHadronElasticProcess added. It allows
user-defined isotope composition of elements and uses cross sections
from the CHIPS model and high-precision neutron models when
appropriate.
- G4LElasticB model:
- Renamed as G4HadronElastic.
- Removed charge exchange option.
- Removed low limit on primary momentum.
- Added limit on secondary kinetic energy.
- Added s-wave only regime for low momentum scattering.
- Add code from high energy elastic scattering which does not use
data files.
- Fix to remove occasional NaN values at scattering on deuteron.
- For both G4UHadronElasticProcess and G4LElastic use
np scattering from CHIPS.
- Added new G4ChargeExchangeProcess class.
- models/de_excitation:
- Fixed memory leak in method G4PhotonEvaporation::BreakItUp().
Addresses problem report #851.
- models/low_energy:
- Moved G4LElasticB to coherent_elastic module.
- Removed subtraction of electron masses from atomic mass in some low
energy models. This is because the method G4Nucleus::AtomicMass()
now already makes the subtraction. Models affected:
- G4LEAlphaInelastic, G4LEDeuteronInelastic,
G4LENeutronInelastic, G4LEProtonInelastic,
G4LETritonInelastic.
- models/management:
- G4InelasticInteraction: in method CalculateMomenta(),
corrected excess energy problem by doing two calculations of nuclear
evaporation, one for the annihilation case and one for non-
annihilation. Previously one value was applied to both cases.
Biggest effect seen for anti-baryons.
Save also current target and secondaries in case annihilation fails in
GenerateXandPt(), then restore them for use in
TwoCluster().
- models/neutron_hp:
- Installed option to turn off neutron suspension in HPElastic models:
added method DoNotSuspend() to G4NeutronHPElastic and
G4NeutronHPorLElastic.
- models/radioactive_decay:
- G4RadioactiveDecay::IsApplicable(): added test for negative
lifetime, fixed problem connected with particle design in 8.0.
- stopping:
- Fixed energy/momentum balance for G4MuonMinusCaptureAtRest.
- util:
- Fixed bug in methods G4Nucleus::GetFermiMomentum() and
G4ReactionKinematics::TwoBodyScattering(): momentum is now
isotropic; previously theta was incorrectly sampled by
pi*G4UniformRand(). Addresses problem report #838.
- G4ReactionDynamics:
- Implemented exact proton and neutron accounting to improve baryon
number conservation:
- Added new method GetFinalStateNucleons() which returns
the number of protons and neutrons generated by the initial
projectile-nucleon collision.
- Replaced spall argument in AddBlackTrackParticles() with
PinNucleus and NinNucleus.
- Improved energy balance:
- In method GenerateXandPt(), try removing
pions and kaons before removing nucleons.
- In method SuppressChargedPions(): check available CM
energy before changing pion to nucleon, also extended test for
anti-particles to include strange particles.
- In methods GenerateXandPt() and TwoCluster(),
call GenerateNBodyEvent() a second time if energy sum
is violated, this time with total system energy.
- In method TwoCluster(), use annihilation black track
energy when annihilation channel occurs.
- G4Nucleus:
- Added new method AnnihilationEvaporationEffects() which
calculates energy to be given to evaporated nucleons after
annihilation.
- Added new methods GetAnnihilationPNBlackTrackEnergy() and
GetAnnihilationDTABlackTrackEnergy() to retrieve the values
calculated above.
- Replaced code in method AtomicMass() with:
G4NucleiProperties::GetNuclearMass(A, Z) in order to be
consistent with other methods for getting nucleus mass.
Note: new version has electron masses subtracted, while old
version included them.
Parameterisation Models
- gflash:
- Fixed compilation warning on SUN-CC.
Particles
- Updated particles to match with PDG2005:
- Updated name and PDG code for some resonaces.
- Updated mass/width for resonance particle.
- Updated mass/width/life for heavy flavor particle.
- Updated mass/life/decay modes for tau+-.
- G4Ions is defined as the base class of all nuclei:
- G4GenericIon and all light ion classes (including proton
and neutron) are derived from G4Ions.
- GetAtomicMass() and GetAtomicNumber() of
G4ParticleDefinition are changed to be non-virtual.
- AtomicNumber and AtomicMass are defined for
G4GenericIon. Fixes problem report #846 about registration of
G4RadioactiveDecay to G4GenericIon.
- All particles are deleted when calling
G4ParticleTable::RemoveAllParticles()
and is invoked in the destructor of G4ParticleTable.
- Fixed memory leak in G4MuonDecayChannel.
Addressing problem report #864.
Run
- Introducing new material scanner utility.
- Store random number status in G4Run and G4Event.
- Added zero vector check for polarization of optical photon in
G4PrimaryTransformer.
Track and Tracking
- Track
- Improved G4Track::GetVelocity() for optical photon.
- Tracking
- Bug fix for StepStatus when a track is outside of
world boundary. Addressing problem report #866.
- Introduced new flags in G4VSteppingVerbose for more
verbosity control.
Visualization
- Overall
- Support 2D Text for OpenGL and HepRep (other drivers to be supported in
future releases).
- Added powerful new facility to control which trajectories are drawn:
Trajectory Filter Models. See also new commands /vis/filtering.
- Added more trajectory models: DrawByOriginVolume and GenericDrawer.
- Added options to modeling commands to control drawing style for lines,
step and auxiliary points. See also commands
/vis/modeling/trajectories/*.
Older way of controlling some of these options, the i_mode
argument in /vis/scene/add/trajectories, is also still
supported but will be deprecated in the next major release.
- Added command to interactively edit vis attributes (color, visibility,
etc.) of geometry volumes. See also commands /vis/geometry/*.
- Added command to list current settings of modeling, filtering, etc.
See also commands /vis/list/*.
- Added command to write Run and Event numbers onto visualization.
See also command /vis/scene/add/eventID.
- Support re-computation of transients to allow sending same events to
multiple vis drivers. See also command /vis/scene/transientsAction.
Note that this feature is turned off by default since we consider it a
beta release.
- Print available models on initialisation (uses new command
/vis/list described above).
- Changed ERROR to WARNING when user calls Draw with an invalid
view.
- Added protection against non-instantiation of run manager.
- Improved protection for null models and parameters.
- Improved handling of situation when world has been added to an empty
scene.
- Eliminated some cases of double refresh.
- Fixed memory leak in CheckModel().
- Implemented methods Begin/EndPrimitives2D() used by some vis
drivers to tell if primitives are to be placed in 2D (screen) space or
2D (world) space.
- Fixed bug in culling of covered daughters.
- Migrated to direct access to G4PhysicalVolumeModel.
- Added capability of maintaining path of the current drawn (non-culled)
volume in terms of drawn (non-culled) ancestors.
See header file for G4PhysicalVolumeModel for detailed
description.
- DAWN
- Fixed rewind and file-closure-on-exit issues that occurred for some
command sequences.
- Prevented possibility of having duplicate instances of the geometry.
- HepRep
- HepRepFile:
- Corrected direction of G4Cons.
- Added units to geometry volume attributes Density and Radlen.
- Corrected hierarchy for cases in which culling has removed some
volumes.
- Split different groups of hits into different HepRep Types
depending on attribute HitType.
- Handle axes and other primitives that are neither transients nor
geometry.
- Fixed file-closure-on-exit issues that occurred for some command
sequences.
- Added G4Version attribute to HepRep file.
- HepRepXML: stable. No changes.
- OpenGL
- Improved efficiency (by making G4OpenGLXmViewerMessenger
smart).
- Refined display list handling.
- Fixed buffer swapping behaviour that had resulted in blank or
incomplete displays on Windows.
- OpenInventor
- Implemented drawn volume path.
- General improvements in logic.
- RayTracer
- Moved G4RayShooter class to Event module.
- Allow RayTracer and RayTracerX to be separately controlled during
same session.
- Tree
- Fixed bug in treatment of repeated replicas.
- VRML
- Fixed rewind and file-closure-on-exit issues that occurred for some
command sequences.
- Prevented possibility of having duplicate instances of the geometry.
- XXX
- Improved handling of DrawnPVPath (by using drawn volume
path).
- Added more example classes: G4XXXFile, G4XXXStored
and G4XXXSG.
Environments
- Added new Python interface module:
- g4py/source: Python wrappers for Geant4 source.
- g4py/site-modules: some application modules using the
wrappers.
- examples, tests and associated configuration files.
- Removed dependency on Gain module in MOMO.
Physics lists
- Archived 'electromagnetic' subdirectory. Physics lists for EM use
cases are provided together within the geant4 examples. In particular
extended electromagnetic examples demonstrates how to use standard EM
physics, how to use available options and provide extensions.
- Providing G4QStoppingPhysics based on the CHIPS model for
simulation of capture at rest of negatively charged hadrons; using it in
all QGS and FTF type physics lists.
- Moved elastic out of Neutron/Proton/PIK- builders. Now using
G4HadronElasticPhysics directly in all.
- Using Bertini Cascade for kaons (K+,K-, K0L, k0S).
- Added Binary Cascade for Ions to BIC physics lists.
- Added experimental QGSP_EMX physics list providing an alternative
standard EM physics, requiring less CPU in comparison with QGSP.
- Added mu-nuclear option to G4EmExtraBuilder.
- Added experimental QBBC Physics List: version of physics free of
LHEP models but using Binary, BinaryIon, Bertini, CHIPS, QGSC, FTFC.
- Fixed problem in destructors of G4DecayPhysics and
G4ElectroNuclearBuilder and G4MiscLHEPBuilder.
- Fixed name of builder for HadronPhysicsQGSP_GN.
Data sets
- New data set for low-energy electromagnetic processes: G4EMLOW 4.0.
- New data set for high-precision neutron processes: G4NDL 3.9:
- Added data for Antimony, Hafnium, Technetium, Samarium, Neodymium
and Gadorinium.
- Updated inelastic data for 17_nat_Chlorine, 28_62_Nickel and removed
data for 32_70/2/3/4/6_Germanium.
Examples
- Updated reference outputs.
- advanced
- air_shower
- RunAction: removed use of visualization UI commands,
and small changes in PrimaryGeneratorAction.
- brachytherapy
- Delete hits collection. Energy deposit and position are stored
directly in histograms and ntuples in the BrachyPhantomSD.
- Iteration in the management of the primary particles.
- More comments in code and README updated.
- gammaray_telescope
- Updates in Digi section, Physics Models, Source Generation.
- hadrontherapy
- Improved the random generator.
- Bug fixed in all the hadronic physics lists; the hadronic
processes are not activated for He3 at the moment.
- Corrected a bug in the primary generator action
on SetParticleMomentum().
- Changed the beam line according with a modification in the real
CATANA beam line considered as model.
- Comments in the primary particle and physics components.
- medical_linac
- microbeam
- New example simulating the cellular irradiation beam line
installed on the AIFIRA electrostatic accelerator facility
located at CENBG, Bordeaux-Gradignan, France.
- radioprotection
- Introduced pion absorption at rest in RemSimHadronicBinary.
- Primary particle generator can handle spectra.
- Added histograms and comments.
- raredecay_calorimetry
- New example simulating a simplified sandwitch calorimeter for
estimate importance of photonuclear reactions for photon
inefficiency and compare effectiveness of different absorbers
to reduce it.
- Tiara
- underground_physics
- Removed visualisation warnings when running in batch mode.
- Replaced obsolete e-mail address in headers.
- extended
- analysis/A01
- Added Time attribute to Hit classes.
- electromagnetic/TestEm0
- New example to print the cross sections and stopping power used by
the standard electromagnetic package via G4EmCalculator,
which extracts these data from the Physics Tables.
The program can be used in batch or interactively.
- electromagnetic/TestEm1
- Added PhysListEmLivermore and
PhysListEmPenelope.
- Create histograms for primary particle only.
- Refreshed all macros. Changed names.
- Changed printing format in EndOfRun.
- PhysicsList: new functions AddDecay(),
AddStepMax().
- Changed unit mum to um in input macro.
- Updated README.
- electromagnetic/TestEm2
- Suppress the geometrical replica. The energy profiles are produced
without geometrical step limitation. Suppressed the geometrical
disivions in geant3.
- Removed histograms of particle flux. Histograms 10-12 become 7-9.
- Removied all Builders and replaced by simple physics lists.
- SteppingAction: edep randomly distribued along step.
- PrimaryGenerator: allow /gun/particle/position.
- RunAction added printout of Moliere radius.
- Updated README.
- electromagnetic/TestEm3
- Changed unit mum to um in most macros.
- Added extra material and use G4 NIST element DB.
- Added Livermore and Penelope Physics Lists.
- Use touchable-handle in stepping-action.
- Updated README.
- electromagnetic/TestEm4
- Updated input macros and README.
- electromagnetic/TestEm5
- TrackingAction: more precise definition of transmit and
reflect.
- Added Livermore Physics List.
- Changed unit mum to um in input macros.
- Completed Penelope Physics List.
- Count energy of killed secondaries and print full dEdx.
- Use touchable-handle in stepping-action.
- Updated README.
- electromagnetic/TestEm6
- Added UI command /testem/phys/SetAnnihiToHadronFac.
- Register G4StepLimiter in Physics List.
- electromagnetic/TestEm7
- New macro: tallies.mac; completed default input macro.
- SteppingAction: edep randomly distribued along step.
- Use touchable-handle in stepping-action.
- Updated README.
- electromagnetic/TestEm9
- electromagnetic/TestEm10
- General cleanup and removed obsolete files.
- electromagnetic/TestEm11
electromagnetic/TestEm12
- Changed unit mum to um in input macros.
- Added Livermore and Penelope Physics Lists.
- RunAction: added GetCSDARange().
- HistoManager: compute stepMax from histo 1 (stepMax <= binWidth).
- RunAction: pass stepMax from HistoManager to StepMax process.
- StepMax: added boolean flag 'apply'.
- SteppingAction: edep randomly distribued along step.
- Updated README
- electromagnetic/TestEm13
- Replaces (renamed) PhotonProcesses example.
- Allows to compute the total cross section of one or several
processes.
- Added protection in DetectorConstruction::UpdateDeometry().
- Updated README.
- electromagnetic/TestEm14
- Replaces (renamed) MuonProcesses example.
- Allows to compute the total cross section of one or several
processes and to plot the final state at interaction point.
- Added protection in DetectorConstruction::UpdateDeometry().
- Updated README.
- electromagnetic/TestEm15
- Added protection in DetectorConstruction::UpdateDeometry().
- Added phi correlation.
- Use touchable-handle in stepping-action.
- Updated README.
- electromagnetic/TestEm16
- New example for the simulation of synchrotron radiation.
- electromagnetic/TestEm17
- New example to check implementation of the processes
of muon interactions: ionization, direct (e+,e-)
production, bremsstrahlung, mu-nuclear interaction.
- gdml
- Added G4Evaluator for new version of GDML and updated
GNUmakefile.
- hadronic/Hadr01
- New example based on the IION application developed for
simulation of proton or ion beam interaction with a water target.
Different aspects of beam target interaction are demonstrated in the
example including logitudinal profile of energy deposition, spectra of
secondary particles, spectra of particles leaving the target. The
results are presented in a form of average numbers and histograms.
- optical/LXe
- Exhibit choice of WLS time delay via new classes of
G4VWLSTimeGeneratorProfile.
- persistency
- Archived old PersEx01 example based on CINT dictionary.
- Introduced new example P01 for persistency using the
Reflex tool.
- visualization
- New example "perspective".
- novice
- Reviewed initialization in main().
- N02
- Use touchable-handle in TrackerSD.
- Updated README.
- N03
- Use preStepPoint and touchable-handle in stepping-action.
- Removed printModulo command in vis.mac.
- N05
- Fixed memory leak in ExN05PionShowerModel.
- N06
- Added new method PSetOptPhotonPolar() in
PrimaryGeneratorAction to set a random linear polarization when
the command /N06/gun/optPhotonPolar is given without
arguments.
- N07
- Fixed a bug in SetGapMaterial() in DetectorConstruction.
- Added method AddMaterial() to DetectorConstruction and
modified DetectorMessenger class accordingly.
- Updated sample.mac and retrieve.mac for modified
messenger.