Geant4 8.0 Release Notes
The code and binary libraries for the supported systems are available
through our Source Code Web page.
Please refer to the
Geant4
User Documentation for further information about using Geant4.
Contents
- Supported and Tested Platforms
- AIDA and CLHEP
- Known Run-Time Problems
- Compilation Warnings
- Known Run-Time Warnings
- Items for migration of the user code
- 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.
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).
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-3.4.4, gcc-4.0.2
- Linux, Intel-icc 8.0
- MacOS 10.4, gcc-4.0
- 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.0 requires the installation of
CLHEP.
Tests have been performed with CLHEP-1.9.2.2
The software has been verified also with CLHEP-2.0.2.2.
Geant4 8.0 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 7.1 to release 8.0. Note that a full reinstallation
of libraries (or a full recompilation) and a recompilation of user applications
is required.
Creating and instantiating physics lists : impact of the revised, "non-static", particle
definitions
In this release, all particle-definition objects are instantiated dynamically
when the method ConstructParticle() of the user's G4VUserPhysicsList is
called.
This method is invoked when the user's physics list is assigned to the
G4RunManager (whereas previously it was called at the
time of
G4RunManager::Initialize()). The new scheme allows the
user to set a number physics quantities to alternative values (e.g. masses of
elementary particles) before particles are instantiated with the values provided by Geant4.
This new scheme creates some restrictions which can
affect on the existing users's codes, in particular when user-defined
physics lists are used:
- Physics processes and models must be instantiated in the
ConstructProcess() method of the user's physics list.
In particular physics processes or models must not be data members of a physics
list. The reason is that some existing physics processes and models require
that particles have been instantiated already. If a process is a data member
of the physics list, it is instantiated when the physics list's constructor
is called, and thus before the invocation of ConstructParticle().
The "educated-guess" physics lists distributed with previous Geant4 releases
are affected by this change. The revised physics lists, which are distributed
with this release, should be used in their place.
A user adopting his/her own physics list, will need to perform a similar
revision in case a G4Exception with the following message occurs
when the physics list is instantiated:
Error message:
Access to G4ParticleTable for finding a particle or equivalent operation
occurs before G4VUserPhysicsList is instantiated and assigned to
G4RunManager. Such access is prohibited by Geant4 version 8.0.
To fix this problem, please make sure that your main() instantiates
G4VUserPhysicsList and set it to G4RunManager before instantiating
other user classes such as G4VUserPrimaryParticleGeneratorAction.
Fix:
All physics processes and models defined as data members of the physics
list must be moved to the ConstructProcess() method, and must be
explicitly instantiated by new operator. The revised physics lists
provide a reference for this revision.
- User action classes (derived from G4VUserPrimaryGeneratorAction,
G4UserRunAction, G4UserEventAction, G4UserStackingAction,
G4UserTrackingAction and G4UserSteppingAction) must be
instantiated after the physics list is instantiated and after it is set to
G4RunManager. Please note that the user's detector construction
class is a user initialization class and thus is not affected by this
restriction.
The user should revise the main() function if the following
G4Exception occurs:
Error message (for G4VUserPrimaryGeneratorAction):
You are instantiating G4VUserPrimaryGeneratorAction BEFORE your
G4VUserPhysicsList is instantiated and assigned to G4RunManager.
Such an instantiation is prohibited by Geant4 version 8.0. To fix this
problem, please make sure that your main() instantiates G4VUserPhysicsList
AND set it to G4RunManager before instantiating other user action classes
such as G4VUserPrimaryParticleGeneratorAction.
Fix:
Edit main() to make sure all user action classes are
instantiated after the physics list is set to G4RunManager.
G4VProcess base class
A signature change is implemented in the G4VProcess base class.
The virtual method StartTracking() defined in G4VProcess
now takes const G4Track* as argument in its signature. Users
implementing their own physics process and making use of this virtual
method, will have to modify the signature accordingly.
Multiple Scattering electromagnetic process
In the electromagnetic standard package major changes have been introduced
concerning the Multiple Scattering process. To improve the behaviour of low
energy particles (electrons in particular, but affecting also hadrons),
the Multiple Scattering now limits the step size for the particles. This
restriction is undertaken using several criteria, and is applied systematically,
in all volumes and materials. In addition a model of the correlation between
lateral displacement and final direction has been implemented (see the
Physics Reference Manual for further information).
As a result, most physical observables become more stable when varying
production cuts (i.e. less "cut dependent"). There is a corresponding
cost, a CPU-time penalty, when utilising the same value of the production
thresholds. This penalty can be significant, depending on the user's setup and
the cut values. For many use cases the increased stability will allow the choice
of higher production thresholds, recovering computing performance while
maintaining physics performance.
To enable the user to investigate its benefits, a mechanism is provided to
deactivate this step limitation. The new method MscStepLimitation(bool)
of G4MultipleScattering disables these new step limitations.
In addition, in order to help the transition, the old version is available for
this release 'frozen' in the class G4MultipleScattering71.
Several examples (in extended/electromagnetic) provide sample physics lists
which use this older version.
Geometry modeler
For setups including parameterised geometries by material, an interface
extension is introduced in G4VPVParameterisation base class for the
ComputeMaterial() method. An optional argument has been added, that
provides a constant pointer to the touchable of the parent of the current
volume, enabling access to its copy number and other properties, and those of
all its ancestor volumes.
User code making use of this feature will have to be updated accordingly.
A compilation warning should flag to take into account this interface change.
Internal classes implementing the framework for twisted solids have been
renamed. User code depending on this framework will have to be modified
accordingly.
Fast parameterisation
The concept of "envelope" and "ghost-volume" for fast-parameterisation has
been merged with the G4Region in this release. Therefore, a
logical-volume no longer acts directly as an "envelope", since this attribute
now assigned to G4Region. Please refer to the User Guide for
Application Developers for the detailed information. The relevant modules have
migrated accordingly. See exampleN05 which has been revised to
demonstrate this new mechanism.
A design iteration has taken place for the GFlash fast shower parameterisation
model and some classes were renamed to follow the new implementation and
design for envelopes. User code making use of the GFlash tool should migrate
accordingly.
TRD models for cluster parameterisation have been retired. The functionality
is now provided directly as physics processes and included in the
electromagnetic packages.
Migration to <sstream> from deprecated
<strstream>
<strstream> types are no longer in use by the Geant4 kernel in
this release. Also any protection from compilation warnings by the compiler
for deprecation of such header are no longer implicitely included. User code
therefore will be exposed to implement such migration to
<sstream>, if not already done.
System of Units and Physical Constants
Geant4 8.0 can be used either with version 1.9.2.2 of CLHEP or 2.0.2.2.
Explicit usage of the CLHEP and HepGeom namespaces is
made in the Geant4 code. However, for what concerns Units and Physical
Constants, these are still kept available in the global namespace for
convenience and backward-compatibility.
New Installation flags
New installation flags have been introduced:
- G4VIS_BUILD_RAYTRACERX_DRIVER, G4VIS_USE_RAYTRACERX:
allowing installation and usage of a new optional RayTracer
module based on X11 graphics and allowing for interactive ray-tracing
visualization.
7. 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:
- Added new RAYTRACERX driver to setup.
- Added G4VIS_BUILD_RAYTRACERX_DRIVER and
G4VIS_USE_RAYTRACERX control flags.
- Added workaround to binmake.gmk to allow for physics-lists to
link with DLLs on Windows. Added new options to WIN32-VC setup for
porting on VC++8 compiler.
Digitization & Hits
- Introduced new G4VPrimitiveScorer and G4VSDFilter
base classes, G4THitsMap template class,
G4MultiFunctionalDetector class and several concrete scorer
and filter classes. These enhancements make ease for scoring
applications in particular in medical and space fields, such as
dose or energy-deposition scoring.
- Added a new sub-directory "utils" for new concrete primitive scorers
and concrete filters. Introduced G4THitsMap template class.
Electromagnetic Processes (Low-energy)
- Fixes in atomic relaxation and G4hLowEnergyIonistation.
- Implemented migration to <sstream> from deprecated
<strstream>.
Electromagnetic Processes (Standard)
- Standard
- G4MultipleScattering:
- General update: stepping algorithm has been modified; this
affects most results; the algorithm is now much less cut
dependent and provides more precise energy in sampling
calorimeters with normal cuts about 1 mm. By default the
the process now limits the step (step limitation on), with
facrange = 0.02.
- New function MscStepLimitatiion(bool,double) to
allow for switching the step limitation algorithm and change
the facrange factor.
- G4MscModel:
- Updated version: now taking into account theta-phi
correlation in the final state.
- Nuclear size correction is removed; it is now included in the
tabulated cross section values for Tkin > 10 MeV.
- G4MultipleScattering71, G4mscModel71: new classes
corresponding to the old frozen version of the multiple-scattering
algorithms included in release 7.1.p01.
Default facrange = 0.2.
- G4UniversalFluctuation:
- Cut dependence of the energy-loss distribution has been reduced.
- Introduced correction for very small loss to avoid zero energy
loss.
- G4eBremsstrahlungModel: now taking into account electron
recoil into in the final state. Important for hard bremssrahlung
emission.
- G4BraggIonModel: not using G4Alpha.
- G4PEEffectModel, G4BetheHeilterModel, G4eplusAnnihilation:
final energy of incident particle is set to zero in PostStep.
- G4GammaConversion52, G4BetheHeitlerModel: replaced usage
of RandBit() by G4UniformRand() to correct cases
of event irreproducibility.
- G4PAIModel, G4PAIPhotonModel: changes for support of
CLHEP 2.0.X series.
- Muons
- G4MuPairProductionModel: added protection needed for
sampling of pair energy in the case of low cuts.
- HighEnergy
- G4BraggNoDeltaModel, G4BetheBlochNoDeltaModel:
magnetic change is removed, models are assumed to be used only for
very heavy electrically charged particles.
- G4hhIonisation: new class for simulation of very heavy
electrically charged particles (ATLAS request).
- G4eeToHadrons: fixed verbosity; fixed initialisation.
- G4eeToHadronsModel: fixed verbosity.
- Minor cleanup: removed inline constructors and destructors.
- Utils
- G4EmCorrection: fix on calculation of effective charge and
Mott correction for ion energies about 10 MeV.
Relevant for heavy ions like Pb.
- G4EmProcessOptions: fixed verbosity definition for energy
loss processes (LHCb request).
- G4EmCalculator: fixed problem in ComputeDEDX()
for ions.
- G4VMultipleScattering:
- Introduced mechanism of step limitation for multiple scattering.
Added public method SetMscStepLimitation(bool) to allow
for switching on/off the new mechanism, which may affect both CPU
performance and quality of results.
- Fix in a protection in GetContinuousStepLimit().
- G4VEnergyLossProcess:
- New default parameters: Integral=true;
SetStepFunction(0.2,1mm), lambdaFactor=0.8.
Fixes also problem report #780 connected with d-electron
production tmax < cut.
- Updated subcutoff regime; G4VSubCutoffProcessor is not
used any longer.
- G4VEmModel:
- Fixed default energy range from 0.1*keV to
100*TeV to make easier initialisation of PAI models.
- Removed inlined constructors and destructors.
- G4VEmModelManager: added protection for arithmetic operations
with cut=DBL_MAX.
- G4VEmProcess: using integral mode only for charged particles;
default lambdaFactor=0.8.
- Xrays
- G4XTRRegularRadModel, G4XTRGammaRadModel,
G4XTRTransparentRegRadModel: new models for simulation of
transition radiation, they are using the interface
G4VXTRenergyLoss::fExitFlux=true for the description of
XTR at the exit of the radiator.
- XTR process is now transformed to be discrete.
Event
- Removed dependency on HepMC, moved G4HepMC classes to extended examples.
- Issue exception from constructors of G4UserEventAction and
G4UserStackingAction to protect against their instantiation
before G4VUserPhysicsList is instantiated and set to the
run-manager.
- Put protection against null pointer in
G4ParticleGun::SetParticleDefinition().
- Modified GNUmakefile to follow intercoms->graphics_reps migration
for G4VGraphicsScene and G4VVisManager classes.
General Processes: Management, Cuts, Parameterisation
- Implemented migration to <sstream> from deprecated
<strstream>.
- Management
- G4VProcess::StartTracking() now takes G4Track*
as an argument. G4ProcessManager::StartTracking() now
invokes this new method. Functionality to be used for future
developments.
- Cuts
- Implemented migration to new scheme considering G4Region
as envelope for fast-parameterisation.
- Parameterisation
- Implemented migration to new scheme considering G4Region
as envelope for fast-parameterisation. Corrected setting of envelope
volumes and solid in G4FastTrack.
- Migrated from old scheme for G4Exception and some
cosmetics.
Geometry
- Implemented changes for support of CLHEP-2.0.X.
- Added fake default constructor for all concrete volumes, solids, base
classes and relevant utility classes for handling of direct object
persistency.
- Merged concept of "envelope" to G4Region for
fast-parameterisation.
- Implemented migration to <sstream> from deprecated
<strstream>.
- Divisions
- Protected case of generic construct for G4Polyhedra and
G4Polycone currently NOT supported for divisions.
- Management
- Added virtual method GetPointOnSurface() to G4VSolid
to be implemented in the concrete solids classed for returning a
random-point uniformly distributed on the surface. Added concrete
implementation to G4ReflectedSolid.
- Added new pure virtual methods to identify regular structures in
physical-volume: IsRegularStructure() (returns true
if the underlying volume structure is regular) and
GetRegularStructureId() (Returns non-zero code in case the
underlying volume structure is regular, voxel-like). If non-zero the
volume is a candidate for specialised navigation such as 'nearest
neighbour' directly on volumes).
- Revised G4VPVParameterisation: changed signature of
ComputeMaterial(), adding parent touchable pointer;
this refinement enables easy use of nested parameterisations.
Additional methods allow for nested parameterisation to be identified
(IsNested()) and to provide their material via new interface
class G4VVolumeMaterialScanner (GetMaterialScanner()).
- Navigation
- Added ability to use nested parameterisations to parameterised
navigation.
- Solids
- Added concrete implementation for GetPointOnSurface() to
relevant solids. The method returns a random point according to a
quasi-uniform distribution along the surface.
- CSG:
- Fixed bug in G4Torus::Inside(p) for phi
sections. Fixes problem report #810.
- Specific:
- Introduced new solid G4EllipticalCone, a full cone with
elliptical base that can be cut in Z.
- Introduced new solid G4Tet implementing a tetrahedra
defined by 4 points in space.
- Introduced new solid G4Ellipsoid with possible cut in
Z
- G4Polyhedra, G4Polycone: protected case of
generic construct for visualization. Introduced explicit flag and
method IsGeneric() to identify the kind of constructor
used.
- Renamed baseline classes for twisted solids. Added polyhedron
definition for G4TwistedTrap, G4TwistedTrd,
G4TwistedBox and G4TwistedTubs for
visualization.
Fixed bug in G4VTwistSurface::ComputeLocalPoint(p) for
point coordinate transformation.
- Volumes
- Introduced first implementation for optional check of overlaps at
construction to G4PVPlacement and G4PVParameterised
volumes. Default resolution of 1000 points is defined for the check.
The check is disabled by default.
- Introduced method CheckOverlaps(p) for placements and
parameterised volumes. The resolution for the check can be specified
providing the number of points wished to be generated.
- Added G4VNestedParameterisation class with ability to use
parent information to compute/change material.
- Added methods to identify regular structures in physical-volume
derived classes (replicas, parameterised-volumes, placements).
Global
- Added Surface/Mass unit (cm2/g) in G4UnitsTable.
- Added G4Version header, including definitions for software
versioning.
- Get rid of hard-coded numbers for DBL_MIN, FLT_MIN, DBL_DIG,
DBL_MAX, FLT_DIG, FLT_MAX/MAXFLOAT. Use numeric_limits
from <limits> instead in templates.hh.
- Revised G4strstreambuf for migration to <sstream>
from deprecated <strstream>.
- Introduced changes for support of CLHEP-2.0.X series:
- Introduced explicit usage of CLHEP:: and HepGeom::
namespaces for vector and geometry types.
- Added wrapper headers for units and constants to allow for usage in
the global namespace. NOTE: units and constants are currently NOT moved
to the CLHEP namespace.
- Removed #undef __DEPRECATED statement in G4Types.hh for
<sstream> deprecation by the gcc compiler.
Added forward declaration for __void__ type to be used for
definition of fake default constructors for usage of direct object
persistency.
Graphical Representations
- Added polyhedron descriptions for new G4Ellipsoid and
G4EllipticalCone shapes.
- Source code cleanup: removed redundant intermediate class
G4VVisPrim and redundant virtual assignment operators.
- Added time to set of allowed attributes in G4AttValues.
- Moved G4VGraphicsScene and G4VVisManager from intercoms
module; replaced default arguments G4Transform3D::Identity by
G4Transform3D() to avoid initialisation problems with static
objects with dynamic libraries.
- Fixed dispatch method name to DispatchToModel() in
G4VVisManager.
- G4Colour now has a G4String->G4Colour colour map
and static data members for common colours.
- Implemented migration to <sstream> from deprecated
<strstream>.
- Implemented changes to support CLHEP-2.0.X series, adding explicit
namespace to CLHEP types in HepPolyhedron and
BooleanProcessor.
Materials
- G4NistMaterialBuilder: added chemical formulas for number of
materials, added temperature and pressure explicitly for each material;
it will allow to have other than STP parameters for gases.
- Added fake default constructor for isotopes, elements, materials and
relevant related classes, for usage of direct object persistency of
detector description.
- Added default boolean argument for warning in methods
GetMaterial(), GetElement(), GetIsotope().
Hadronic Processes
- Implemented migration to <sstream> from deprecated
<strstream>.
- Implemented changes to support CLHEP-2.0.X series.
- models/coherent_elastic:
- G4ElasticHadrNucleusHE: added high energy elastic scattering
on protons.
- G4HadronValues: use PDG value instead of static particle
pointers.
- Fixed memory leaks, fixed 4-momentum balance.
Fixed compiler warnings.
- models/cascade:
- Added G4ElasticCascadeInterface and modified
G4CascadeInterface to allow for elastic scattering
of p, n, pi+, pi-, gamma using the Bertini cascade model.
- models/chiral_invariant_phase_space:
- The Charged Currents (nu,mu) neutrino-nuclear reactions are
now implemented for all energies. The recommended energy is below 320
GeV, where the model is compared with data. Above 320
GeV it is just a formal extrapolation. Both Quasi Elastic and
Inelastic interactions are implemented. In future the developed
non-perturbative CHIPS method can be used for simulation of
(nu,e) reactions.
- New capture process G4QCaptureAtRest valid for pi-,
K-, anti-proton, mu-, tau-, Xi-, Omega-, neutron, anti-neutron,
anti-Sigma+.
- Muon neutrino and anti-neutrino scattering added to
G4QCollision process.
- New cross section classes: G4QANuMuNuclearCrossSection and
G4QNuMuNuclearCrossSection.
- Memory leak fix for nuclear mass management in G4QPDGCode
to use Geant4 masses of nuclear fragments.
- models/low_energy:
- G4LElasticB:
- Copy of G4LElastic process with modified relativistic
kinematics. Addresses problem report #534.
Added protection for low momentum (<10 MeV/c)
particles where CM sampling of cos(theta) is not valid.
- G4LCapture: fixed incorrect unit in momentum components.
Addresses preblem report #726.
- models/neutron_hp:
- Added four new models: G4NeutronHPorLCapture,
G4NeutronHPorLEInelastic, G4NeutronHPorLElastic,
G4NeutronHPorLFission.
These models should be used instead of the corresponding
G4NeutronHPCapture, G4NeutronHPInelastic,
G4NeutronHPElastic or G4NeutronHPFission models
when a detector setup contains elements or isotopes not found in the
G4NDL data set. The new models use the existing high precision models
when data exist, but switch to the Low Energy Parameterized models
when data is absent, thus avoiding a crash.
- models/parton_string:
- Fixed bug in G4ExcitedStringDecay for method
EnergyAndMomentumCorrector(): removed comparisons of
4-ector quantities with integers, replaced with comparisons of
doubles.
- Corrected and simplified code for random number generation in
G4QGSMSplitableHadron, avoiding unnecessary crashes.
- models/radioactive_decay:
- Replaced usage of NULL with 0.
Parameterisation Models
- Archived old TRD parameterised models. Functionality now included
in standard EM processes.
- gflash:
- Design iteration. Added concrete sampling shower parameterisation
and tuning classes.
- Corrected typo to name GFlashHomoShowerParamterisation,
to become GFlashHomoShowerParameterisation. Replaced
affected files.
- Fixed usage of random numbers to allow for event
reproducibility. Code cleanup for Software Reference Manual.
- Implemented migration to new scheme for considering G4Region
as envelope for fast-parameterisation.
Particles
- Introduced new scheme for non-static particle definitions.
- Implemented migration to <sstream> from deprecated
<strstream>.
Run, Intercoms and Interfaces
- Implemented migration to <sstream> from deprecated
<strstream>.
- Intercoms:
- Moved G4VGraphicsScene and G4VVisManager to
graphics_reps module.
- Run:
- Implemented migration to new scheme considering G4Region
as envelope for fast-parameterisation.
- Invoke exception in constructors of G4VUserPrimaryGeneratorAction
and G4UserRunAction to protect against their instantiation
before G4VUserPhysicsList is instantiated and set to
the run-manager.
- Removed redundant invokation of ConstructParticle() from
G4RunManagerKernel::InitializePhysics().
All particles must be instantiated in ConstructParticle()
method in the physics list along with the introduction of non-static
particle definition scheme.
- Use G4Version.hh for version and date in
G4RunManagerKernel constructor.
- Added necessary changes for support of CLHEP-2.0.X series.
Track and Tracking
- Implemented migration to <sstream> from deprecated
<strstream>.
- Track
- Fix in G4Track::GetVelocity(). Use the material pointer in
the PreStepPoint.
- Modified G4ParticleChangeForGamma to update the step for
the 'PostStep' in any case.
- Tracking
- Issue exception in constructors of G4UsertrackingAction
and G4UserSteppingActio to protect against their instantiation
before G4VUserPhysicsList is instantiated and set to the
run-manager.
- Modifications to G4VTrajectory::DrawTrajectory() for
enhanced trajectory drawing.
- Added new development classes G4RichTrajectory and
G4RichTrajectoryPoint.
Visualization
- Implemented migration to <sstream> from deprecated
<strstream>.
- management
- Added enhanced trajectory drawing to let interactively change
how trajectories are modeled. Initial options are
/vis/modeling/trajectories/create/drawByCharge and
/vis/modeling/trajectories/create/drawByParticleID, with
additional commands to set specific colors.
Coming in the next release will be drawByMomentum,
drawByOriginLogicalVolume, etc.
There is also a mechanism to let define a user's own drawBy
class and then invoke it from the command line. More information can
be found in the User Guide for Application Developers.
- Added /vis/viewer/rebuild comand to force visit of kernel.
- Removed MyVisManager (was deprecated in previous major
release).
- Initial window size can now be set from /vis/open and
/vis/viewer/create (RayTracer, OpenGL and OpenInventor).
- Background colour can now be set by /vis/viewer/set/background
(RayTracer, OpenGL and OpenInventor).
- Non-uniform scaling is now supported, /vis/viewer/scale
(and scaleTo). Like zoom (and zoomTo) but
provides different scale factors along different axes (OpenGL and
OpenInventor).
- Comand /tracking/storeTrajectory 1 is now issued
automatically when doing /vis/scene/add/trajectories.
- Attempt to add volume to a scene already containing the world now
gives now a warning.
- Introduced optional second pass over run-duration models in
G4VSceneHandler::ProcessScene().
- modeling
- Added enhanced trajectory drawing
(see notes in management section above).
- Fixed (non-)culling of transparent volumes.
- Implemented radial replicas for G4Tubs.
- OpenGL
- Initial window size can now be set from /vis/open and
/vis/viewer/create.
- Background colour can now be set by
/vis/viewer/set/background.
- Non-uniform scaling is now supported
(see notes in management section above).
- Added G4OpenGLViewerDataStore to facilitate access of viewer
data by scene handler.
- Re-implemented transparency button in OpenGLXm.
- Fixed treatment of triangular polygons for drawing of auxiliary
edges (also known as soft lines).
- Fixed bug in which stored transparent objects were being lost.
- Introduced rendering of transparent polyhedron objects.
- Introduced smooth shading. Also window size hints for Xm.
- Added G4OpenGLXmViewerMessenger. Corrected text position.
- OpenInventor
- Initial window size can now be set from /vis/open and
/vis/viewer/create.
- Background colour can now be set by
/vis/viewer/set/background.
- Non-uniform scaling is now supported
(see notes in management section above).
- Allowing to read a g4view.iv file at creating of a view.
If found, the scene graph in g4view.iv is added at head of
the overall scene graph. Permits easy out of band customization of
the scene without having to touch the code.
- Corrected treatment of edgeflags.
- RayTracer
- Introduced RayTracerX driver. Builds same jpeg file as RayTracer,
but simultaneously renders to screen interactively.
- Initial window size can now be set from /vis/open
and /vis/viewer/create.
- Background colour can now be set by
/vis/viewer/set/background.
- Tree
- Refined guidance and printing.
- XXX
- Improved guidance for rendering polyhedron objects.
Physics lists
- Implemented migration of physics lists to non static particles scheme.
Hadronic lists upgraded to Package 5.0.
- Added verbosity level as argument for the physics lists (default is
with verbosity on).
- Defined hadron-ionisation and multiple-scattering to the same list of
hadrons as in version 7.1.
- Do not allow installation of shared libraries when Geant4 granular
libraries are installed and used.
G3toG4 Tool
- Implemented migration to <sstream> from deprecated
<strstream>.
Examples
- Updated reference outputs.
- Implemented migration to <sstream> from deprecated
<strstream>.
- Implemented changes for support of CLHEP-2.0.X series.
- advanced
- brachytherapy
- Fixed bug in the RunAction. The results of the simulation
(energy deposit, position) are stored in a hit collection.
- composite_calorimeter
- Updated hadronic physics list (commented QGSP_Model)
- cosmicray_charging
- Updated hadronic physics setup.
- gammaray_telescope
- Introduced GammaRayParticles and updated hadronic
physics setup.
- hadrontherapy
- Updated initialisation of particles and input macros
- medical_linac
- Added new methods to messengers for the selection of
detector features.
- Updated input macro for visualization and code cleanup.
- radioprotection
- Added Eta and EtaPrime particles and introduced ions.
- Introduced usage of general particle source and updated macros.
- Tiara
- Removed obsolete G4VisManager reference..
- Migrated to non-static particles and to CLHEP namespace.
- Updated configuration scripts.
- underground_physic
- Migrated to non-static particles and hadronic constructor
required for G4Decay.
- Removed step limitation from multiple-scattering.
- xray_fluorescence
- Fixed compilation problem with UIXm and allow for
running in batch-mode.
- xray_telescope
- Allow compilation without analysis and batch mode, abilitated
ASCII output also without usage of AIDA.
- Updated obsolete GPS commands and code cleanup.
- extended
- analysis/AnaEx01
- Made .aida as the default file format.
- Updated README, analyis/Lab/AnaEx01.py to work with
OpenScientist-v14r0.
- Made application easily instrumentable with G4Lab::UIOnX.
- biasing/B01 & B02
- Tidied up code for correct deletion at the end of run in main().
Addresses problem report #802.
- electromagnetic/TestEm1
- Created PhysListEmG4v71 (g4v71) for G4MultipleScattering71.
- electromagnetic/TestEm2
- Created PhysListEmG4v71 (g4v71) for G4MultipleScattering71.
- electromagnetic/TestEm3
- Created PhysListEmG4v71 (g4v71) for G4MultipleScattering71.
- Corrected bug in lateral leakage calculation (stepping action).
- Introduced TrackingAction for energy flow initialization.
- Modified energy flow calculation in geant3 exercise.
- electromagnetic/TestEm5
- Created PhysListEmG4v71 (g4v71) for G4MultipleScattering71.
- Fixed initialisation of non-static hadrons according to new
particle definition scheme.
- electromagnetic/TestEm6
- Added GenericIon to the PhysicsList.
- Extended test to mu+mu- and pi+pi- pair creation
processes and G4hhIonisation in order to test all involved
processes.
- electromagnetic/TestEm7
- Created PhysListEmG4v71 (g4v71) for G4MultipleScattering71.
- Fixed initialisation of non-static hadrons according to new
particle definition scheme.
- electromagnetic/TestEm9
- Added new command /testem/phys/mscStepLimit.
- Fixed initialisation of non-static hadrons according to new
particle definition scheme.
- electromagnetic/TestEm10
- Production cuts are moved to Physics list providing
independent gamma, electron and positron cuts in radiator
and detector regions.
- electromagnetic/TestEm11
- Created PhysListEmG4v71 (g4v71) for G4MultipleScattering71.
- electromagnetic/TestEm12
- New example illustrating how to use the concept of 'process' in
order to implement a constraint on the step size of the particle
trajectories.
- field/field02
- Removed cluster models from detector construction.
- field/field03
- Removed cluster models from detector construction.
- medical/DICOM
- Updated interface to parameterisation and documentation.
- medical/GammaTherapy
- paralled
- Synchronised examples according to evolution of kernel libaries.
- parameterisations/gflash
- New example showing usage of gflash fast shower parameterisation.
- runAndEvent/RE02
- New example demonstrating full functionality of new
filter and scoring classes.
- visualization
- New examples for UserVisAction and standalone demo.
- novice
- N03
- Modified physics list.
- Quietened vis manager in batch mode.
- N05
- Implemented migration to new scheme considering G4Region
as envelope.
- Use RandGamma from CLHEP end removed custom RandomGamma
function.
- N07
- Fully revised to use new filter and scoring classes.