341 lines
16 KiB
Plaintext
341 lines
16 KiB
Plaintext
|
|
Geant4 10.0 - patch-01 Release Notes
|
|
------------------------------------
|
|
|
|
28 February 2014
|
|
|
|
List of fixes included in this public patch since the public release 10.0:
|
|
|
|
o Configuration:
|
|
-------------
|
|
+ CMake:
|
|
o Include /opt/X11 paths for X11 and OpenGL on MacOS X Mavericks.
|
|
o Added variables for G4LIB_{BUILD,USE}_EXPAT as for ZLIB and export
|
|
them based on value of GEANT4_USE_SYSTEM_EXPAT.
|
|
Addresses problem report #1567.
|
|
o Added builtin zlib to list of features, added G4zlib to list of
|
|
libraries when used; export them to geant4-config.
|
|
Addresses problem report #1572.
|
|
o Replaced use of GNU awk extension 'length' in geant4-config for
|
|
determining number of datasets. Use return value of split function
|
|
to get length of array. Addresses problem reported in item #1614
|
|
in hypernews 'Installation and Configuration' forum.
|
|
+ GNUMake:
|
|
o Fixed setting of -fPIC in MT-mode for Linux-g++, Linux-icc and
|
|
Darwin targets.
|
|
|
|
o Analysis:
|
|
--------
|
|
+ Updated to g4tools 1.7.1.
|
|
Fixed performance issue observed for an ntuple with large numbers of
|
|
columns reported in item #455 in hypernews 'Analysis' forum.
|
|
|
|
o Event:
|
|
-----
|
|
+ Changed default value of Q (charge) for /gun/ion and /gun/ionL commands.
|
|
Now electrons are fully stripped (i.e. Q = Z) if Q is not specified.
|
|
+ G4SPSPosDistribution::IsSourceConfined(): added protection against
|
|
null pointer. Addressing problem report #1255.
|
|
|
|
o G3toG4:
|
|
------
|
|
+ Correction to CMake script: removed no longer existing package from
|
|
dependency list.
|
|
|
|
o Geometry:
|
|
--------
|
|
+ magneticfield:
|
|
o Added call to G4Mag_EqRhs::SetChargeMomentumMass() from
|
|
G4Mag_SpinEqRhs::SetChargeMomentumMass(), following report in
|
|
item #210 in hypernews 'Fields' forum.
|
|
+ navigation:
|
|
o Fixed implementation of SetNavigatorForTracking() in
|
|
G4TransportationManager, to initialise active navigator and
|
|
propagator-in-field with the new provided instance.
|
|
Addressing problem report #1537.
|
|
o Minor code cleanup in G4GlobalMagFieldMessenger.
|
|
+ solids/CSG:
|
|
o Added correct cloning mechanism in G4U* wrappers.
|
|
Addressing problem report #1553.
|
|
o Simply reset polyhedron pointer to zero for modifiers of G4U* wrappers
|
|
in parameterisation. Resolves crash in MT visualization when using
|
|
USolids.
|
|
+ solids/specific:
|
|
o Fix in G4GenericTrap::InsidePolygone() to check if p lies between
|
|
the two extremes of the segment. Addressing problem report #1541.
|
|
o Corrected cloning mechanism in G4U* wrappers.
|
|
Addressing problem report #1553.
|
|
o Simply reset polyhedron pointer to zero for modifiers of G4U* wrappers
|
|
in parameterisation. Resolves crash in MT visualization when using
|
|
USolids.
|
|
o Removed left-over debug printout in G4Polycone::SetOriginalParameters().
|
|
+ solids/usolids:
|
|
o Implemented precise safety in UTubs and UCons for SafetyFromOutside().
|
|
Precise safety is used in UPolycone for calculation of SafetyFromOutside().
|
|
o Fixed typo in SafetyFromInside() for UTubs for correct calculation of
|
|
'safePhi'.
|
|
o Corrected implementation of Clone() method in UBox, UTet, UTrd.
|
|
Corrected cloning mechanism and copy constructor in G4USolid.
|
|
Addressing problem report #1553.
|
|
o UPolycone fixes: added validity check of shape for case when
|
|
RMin > RMax; moved global bounding-box to be a class data member.
|
|
Corrected implementation of DistanceToOut(p,v) for convexity and
|
|
normals; corrected implementation of DistanceToOut(p,v) for stuck
|
|
tracks due to DistanceToIn=DistanceToOut=0; corrected implementation
|
|
of Inside() in case of OpenPhi.
|
|
o Removed ResetPolyhedron() from G4USolid bridge class as not necessary;
|
|
moved 'fPolyhedron' pointer to protected.
|
|
|
|
o Global:
|
|
------
|
|
+ G4PhysicsVector: small performance optimisation to avoid one division.
|
|
+ Fixed Coverity defects in G4Physics2DVector::Retrieve().
|
|
+ Implemented workaround to guarantee G4cout/G4cerr are initialized
|
|
correctly before main function.
|
|
+ Added protections to avoid core dumps caused by division by zero
|
|
and other minor updates in G4ConvergenceTester.
|
|
+ Updated date and version for 10.0.p01.
|
|
|
|
o Graphics Representations:
|
|
------------------------
|
|
+ Fixes defects reported by PVS static analysis tool.
|
|
Some code cleanup.
|
|
|
|
o Electromagnetic Processes:
|
|
-------------------------
|
|
+ DNA:
|
|
o Fix in G4DNAMolecularMaterial to prevent segmentation fault in case a
|
|
model is not created at initialisation time.
|
|
+ Low Energy:
|
|
o Suppressed exception warning issued by some Penelope models;
|
|
Controlled by verbosity flag now for diagnostics.
|
|
o Allow for (AutoLock-protected) creation on-the-fly of tables in
|
|
SampleSecondaries(); avoid crash when the loop of SampleSecondaries()
|
|
is inkoved in a unit test.
|
|
o Fixed Coverity report in G4LivermorePhotoElectricModel.
|
|
+ Standard:
|
|
o Bug fix in G4UrbanMscModel; 1st normal step in StepLimitType 2 mode
|
|
was not randomized.
|
|
Move methods ComputeTheta0,SimpleScattering(), SampleDisplacement(),
|
|
LatCorrelation() to be inlined for small CPU speedup.
|
|
o Fix in G4UniversalFluctuation for energy loss for extreme small cuts.
|
|
Bug fix in "ionization" computing (small observable effect).
|
|
Replaced G4Pow::expA() by faster G4Exp().
|
|
Reduced number of divisions by addition of extra class members.
|
|
o G4NuclearStopping: fix to avoid changing ion charge.
|
|
o G4ionIonisation: do not instantiate extra model at high enegry if
|
|
G4IonParameterisedModel is used. Improved printout at initialisation.
|
|
o G4SauterGavrilaAngularDistribution: use Penelope 2008 sampling
|
|
algorithm, as it is more effective; distribution itself is unchanged.
|
|
o G4GoudsmitSaundersonMscModel, G4GoudsmitSaundersonTable: use G4Log(),
|
|
and G4Exp().
|
|
o G4eCoulombScatteringModel, G4eSingleCoulombScatteringModel: get pointer
|
|
to the vector of cuts from parameters of Initialise(..) method and not
|
|
from G4ProductionCutsTable; more convenient for unit tests.
|
|
o Fixed Coverity defects.
|
|
+ Utils:
|
|
o G4VEnergyLossProcess: fixed division by zero for the case of an ion
|
|
with charge zero.
|
|
o G4EmCalculator: in FindCouple() method, implemented loop over all
|
|
regions if argument pointer to region of the method is null.
|
|
Added G4Exception if G4MaterialCutsCouple is not found out and
|
|
also inside GetCSDARange() when CSDA table is not initialized.
|
|
o G4LossTableMananger: fixed bug for initialisation of several runs
|
|
in one job (affecting muons and e- and providing non-reproducibility)
|
|
o G4LossTableMananger, G4EmProcessOptions: define default verbosity=0
|
|
for worker thread, so summary on EM processes is not duplicated.
|
|
o G4VEnergyLossProcess, G4VEmProcess: define fixed precison=6 for
|
|
initialisation printout.
|
|
+ xrays:
|
|
o Make some class members and methods static in G4Cerenkov and
|
|
G4Scintillation.
|
|
|
|
o Generic Processes:
|
|
-----------------
|
|
+ Cuts:
|
|
o Fixed verbosity warning in G4ProductionCutsTable.
|
|
+ Decay:
|
|
o Fixed problem of wrong global time for secondaries in case that the
|
|
primary track stops during along step. Addressing problem report #1555.
|
|
o Replaced use of DBL_MAX with age of the universe for stable particle
|
|
life time. Addressing problem report #1569.
|
|
+ Management:
|
|
o Fixed verbosity warning in G4ProcessTable.
|
|
+ Optical:
|
|
o Make 'WLSTimeGeneratorProfile' and 'UseTimeProfile' static in G4OpWLS.
|
|
|
|
o Hadronic Processes:
|
|
------------------
|
|
+ cross_sections:
|
|
o Removed wrong if statement against zero cross-section in
|
|
G4CrossSectionDataStore::SampleZandA(). Correct fix for the crashes
|
|
observed in QBBC.
|
|
o Disabled threshold for the inelastic cross-section in
|
|
G4BGGNucleonInelasticXS.
|
|
+ management:
|
|
o Added printout of energy momentum check in G4HadronicProcess.
|
|
+ models/binary_cascade:
|
|
o G4BinaryLightIoncascade::FuseNucleiAndPrompound(): added protection at
|
|
low energy: available energy is not sufficient to create a fragment.
|
|
o G4BinaryLightIonReaction: fix for Coverity report on small leak.
|
|
o Added printout of particle name in check for valid type of projectile
|
|
in G4BinaryCasacde::ApplyYourself().
|
|
+ models/de_excitation:
|
|
o G4ExcitationHandler: fixed minor memory leak in the case when
|
|
FermiBreakUp has no final states available; reported in item
|
|
#1371 in hypernews Hadronic forum.
|
|
o G4NuclearLevelManager: trivial fix for defect reported by Coverity.
|
|
+ models/inclxx:
|
|
o Fix for occasionally produced excited nucleon as a pre-fragment.
|
|
o Added getter for INCL Config object in the G4INCLInterfaceStore.
|
|
+ models/lend:
|
|
o Correction to CMake scripts: removed no longer existing package
|
|
from dependency list.
|
|
+ models/neutron_hp:
|
|
o Fixed problem in reading compressed data files in
|
|
G4NeutronHPThermalScatteringData. Addressing problem report #1543.
|
|
o Correction to CMake scripts: removed no longer existing package
|
|
from dependency list.
|
|
+ models/radioactive_decay:
|
|
o Fixed memory leak in G4RadioactiveDecay destructor by deleting
|
|
decay table map.
|
|
+ models/theo_high_energy:
|
|
o Correction to CMake scripts: removed no longer existing package
|
|
from dependency list.
|
|
+ models/utils:
|
|
o Use G4Allocator for allocation of G4Fragment objects.
|
|
Should help reducing memory churn and improve CPU performance.
|
|
Removed counter of warnings; added exception warning in verbose mode.
|
|
+ stopping:
|
|
o G4MuMinusCapturePrecompound: fixed case of infinite loop for mu-
|
|
capture. Addressing problem report #1536.
|
|
+ util:
|
|
o Cleanup of automatic TLS data conversion in G4ReactionProduct,
|
|
G4HadSignalHandler and G4HadronicWhiteBoard.
|
|
|
|
o Interfaces:
|
|
----------
|
|
+ Explicitly set the LC_NUMERIC locale to "C" in G4Qt.
|
|
Addressing problem report #1487.
|
|
Fixed problem with resizing the QGLwidget when scene is opened from UI.
|
|
|
|
o Particles:
|
|
---------
|
|
+ G4ParticleDefinition::DumpTable() displays correct stability
|
|
information for a general ion as long as it is known to
|
|
G4NuclideTable. Addressing to bug report #1560.
|
|
+ Fixed properties for heavy anti-baryons G4AntiLambdab, G4AntiSigmabZero
|
|
and G4AntiLambdacPlus. Addressing problem report #1571.
|
|
+ Minor fix in G4ParticleTable::GetParticle() method.
|
|
|
|
o Physics Lists:
|
|
-------------
|
|
+ Correction to CMake scripts: removed no longer existing packages from
|
|
dependency list.
|
|
+ constructors/electromagnetic:
|
|
o G4EmStandardPhysics_option4, G4EmLivermorePhysics, G4EmPenelopePhysics:
|
|
use RangeFactor=0.01 to increase simulation accuracy.
|
|
Use G4UrbanMscModel for pions, kaons, protons instead of WentzelVI
|
|
to have more accurate ranges of low-energy hadrons (in particular,
|
|
protons).
|
|
o G4EmStandardPhysics_option4, G4EmLivermorePhysics, G4EmPenelopePhysics,
|
|
G4EmStandardPhysics_option3: use the same order of processes for e+-,
|
|
does not change any result but makes more easy comparing log files for
|
|
different EM physics options.
|
|
o G4EmStandardPhysics, G4EmStandardPhysics_option1,
|
|
G4EmStandardPhysics_option2: added Coulomb scattering process for
|
|
pions, kaons, proton, anti-proton in order to have more smooth
|
|
transition from EM to hadronic scattering.
|
|
o Fixed race condision issue in OpticalPhysics; also specify command
|
|
/optics_engine/setOpProcessUse not available for 'Idle' state.
|
|
o Avoid static G4Scintillation method invoked through a pointer.
|
|
+ constructors/ions:
|
|
o INCL++ was incorrectly used up to 48 GeV for deuteron, triton,
|
|
He3 and alpha. Changed the upper limit for ions to 18*3 GeV.
|
|
+ lists:
|
|
o Registered model to handle neutron capture above 20 MeV in in LBE list.
|
|
Addressing problem report #1562.
|
|
|
|
o Run:
|
|
---
|
|
+ Changed order of setting world volume pointer to the transportation
|
|
manager for worker thread to be the same as the master thread and the
|
|
sequential mode, i.e. prior to invoking ConstructSDandField().
|
|
Addressing problem report #1561.
|
|
+ Making sure worker threads re-build physics tables as well when the
|
|
master thread is requested to rebuild.
|
|
|
|
o Track:
|
|
-----
|
|
+ Corrected message from CheckIt() in G4VParticleChange and
|
|
G4ParticleChangeForDecay.
|
|
|
|
o Examples:
|
|
--------
|
|
+ Updated reference outputs.
|
|
+ advanced/amsEcal:
|
|
o Added protection against division by zero in RunAction.
|
|
Addressing problem report #1522.
|
|
+ advanced/ChargeExchangeMC:
|
|
o Fixed few compiler warnings for shadowed variables).
|
|
FTFP_BERT replaces deprecated QGSP_BERT.
|
|
+ advanced/hadrontherapy:
|
|
o Fixed missing inizialization of data in PassiveProtonBeamLine class.
|
|
+ advanced/nanobeam:
|
|
o Made code thread safe to overcome unsafe CLHEP matrix inversion
|
|
in RunAction.
|
|
+ advanced/xray_fluorescence:
|
|
o Fixed shadowed variables and compilation errors when AIDA is available.
|
|
+ extended/analysis/B1Con:
|
|
o Increased number of events of run1.mac.
|
|
+ extended/electromagnetic/TestEm4:
|
|
o Updated vis.mac macro and printout from run.
|
|
+ extended/electromagnetic/TestEm8:
|
|
o HistoManager: more accurate computation of mean energy deposition;
|
|
fixed output of rms of mean energy.
|
|
+ extended/exoticphysics/phonon:
|
|
o Fix in CMake script to copy data in build directory.
|
|
+ extended/field/field04:
|
|
o Replaced Update() method and commands with ReinitializeGeometry().
|
|
Clean volumes and solids stores in Construct().
|
|
o Updated gui.mac: allow for execution of vis.mac first to make the
|
|
command added in menus available. Corrected wireframe parameter.
|
|
o Avoid static method being invoked by a pointer. Fixed uninitialized
|
|
variables in F04GlobalField.
|
|
+ extended/field/field05:
|
|
o Corrected History.
|
|
+ extended/optical/LXe:
|
|
o Updated gui.mac: allow for execution of vis.mac first to make the
|
|
command added in menus available. Corrected wireframe parameter.
|
|
o Rearrange /optics_engine commands in LXe.in, according to what
|
|
is allowed through G4OpticalPhysics.
|
|
+ extended/optical/OpNovice:
|
|
o Fixed race condision issue in OpNovicePhysicsList.
|
|
Addressing problem report #1539.
|
|
Limit invokation of static method only from master/sequential.
|
|
o Updated gui.mac: allow for execution of vis.mac first to make the
|
|
command added in menus available. Corrected wireframe parameter.
|
|
+ extended/optical/wls:
|
|
o Updated gui.mac: allow for execution of vis.mac first to make the
|
|
command added in menus available. Corrected wireframe parameter.
|
|
+ extended/radioactivedecay/rdecay02:
|
|
o Fixed problem identified in boudary chack mode in exrdmHisto::AddRow().
|
|
o Fix in exrdmAnalysisManager::EndOfEvent().
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
Technical Notes
|
|
---------------
|
|
|
|
o This patch should be applied on top of release 10.0.
|
|
o Technical notes distributed for release 10.0 are also applicable and
|
|
valid for this patch.
|
|
|
|
The code and rebuilt binary libraries for release 10.0.p01 are available
|
|
through our "Download" Web page:
|
|
http://cern.ch/geant4/support/download.shtml
|
|
|
|
Please refer to the Geant4 User Documentation:
|
|
http://cern.ch/geant4/support/userdocuments.shtml
|
|
for further information about using Geant4.
|