Geant4 9.4 - patch-01 Release Notes ----------------------------------- 18 February 2011 List of fixes included in this public patch since the public release 9.4: o Configuration: ------------- + Configure script: o Fixed restoring of default settings for XercesC. Corrected duplication of text in setup dump. Addressing problem reports #1159 and #1160. + Darwin-g++.gmk: fix to avoid mixing of OpenGL X11 and framework. o Event: ----- + Added resetting of 'abortRequested' flag at start of DoProcessing() in G4EventManager. Addressing to problem report #1169. o Geometry: -------- + solids/CSG: o G4Cons: fix in DistanceToIn(p,v,..) to squared tolerance in comparison. Replaced calculation of the solution for the quadratic equation, to use safe formula, in order to avoid numerical errors when b is almost equal to sqrt(d). Addressing problem report #1153. o Global: ------ + Extended length of internal arrays in G4Pow from 256 to 512. Allows to fix numerical problems observed in some ion/ion collision tests. + Use unsigned-int for table size type in G4PhysicsTable. Fixes a problem for data persistency. + Changed date for patch-01 to release 9.4. o Graphical Representations: ------------------------- + Fixes to G4Visible operators against possible zero pointers and minor memory leaks. Fixed more minor Coverity reports. o Particles: --------- + Register BetaDecay for anti_neutron though anti_neutron keeps as "stable" with finite life-time, to avoid run-time warnings as reported by CMS. + Defined error codes for G4Exceptions. o Persistency: ----------- + Fixed dumping of pressure and state for materials in ASCII module, and added enumeration of units. + Correction in G4GDMLWriteMaterials::MaterialWrite() to properly treat export of materials with single element defined as isotope composition. o physics_lists: ------------- + G4EmStandardPhysics_option1: fixed missing line defining polar angle limit, responsible for significant CPU penalty in single scattering of muons. + Fix in QGSP_BERT_NOLEP and QGSP_QEL for missing inclusion of G4HadronQElasticPhysics header. + Corrected shielding physics-list to include correct header for HP hadron elastic. Addressing problem report #1166. o Low-energy Electromagnetic Processes: ------------------------------------ + G4UAtomicDeexcitation, G4empCrossSection, G4teoCrossSection, G4VhShellCrossSection: fixed inefficiency in computation of ionisation cross-sections; added extra protections for limited usage of a model in applicability range. + Fixed Coverity defects for G4Penelope08 models, G4EMDataSet, G4ShellData and G4DNA classes. + Moved constructor and destructor to source in G4VEMDataSet. + Fixed memory leak in G4CrossSectionHandler. Fixed memory leaks at initialisation in several classes. o Standard Electromagnetic Processes: ---------------------------------- + Muons: o G4ErrorEnergyLoss: fixed initialisation in constructor, addressing a problem identified on Windows. + Standard: o G4KleinNishinaModel: improved computation of kinematics. o G4GoudsmitSaundersonMscModel, G4UrbanMscModel90, G4UrbanMscModel92, G4UrbanMscModel93: use recommended method Value() to access transport cross section instead of obsolete GetValue(). o G4IonCoulombScatteringModel, G4GoudsmitSaundersonMscModel, G4GoudsmitSaundersonTable: fixed Coverity warnings for data initialisation. o G4PEEffectFluoModel: fixed K-shell selection (was off by mistake). o G4MollerBhabhaModel: fixed expression for computation of positron dEdx according to PDG formula and original paper. + Utils: o G4VEmModel: reduced memory 2 times for element selectors data, as for ATLAS report. Fixed problem of de-excitation flags, allowing settings by user command. o G4LossTableManager: fixed problem happening at initilisation, for the case when Bremsstrahlung process is instantiated but not added to physics list. o G4EmCalculator, G4VAtomDeexcitation, G4EnergyLossMessenger: cleaned logic of activation of deexcitation and computation of ionisation cross-sections. o G4VEnergyLossProcess: fixed minor memory leak at initialisation. Fixed Coverity warnings in G4EnergyLossTables. o Hadronic Processes: ------------------ + cross_sections: o G4NeutronCaptureXS: added protection for the case Ekin=0. o Added cross-section name to constructors, so that they can be retrieved for physics list print out. + models/cascade: o G4ElementaryParticleCollider: added protection sampleCMcosFor2to2(), against potential divide-by-zero. Addresses rare cases (~10^-7) of FP exceptions. + models/CHIPS: o Unlock inelastic h+p cross-sections below 1 GeV; K+ + p low energy inelastic CS blocking below 600 MeV/c. o Fix in photon-nuclear environment for Quasmons. o Added correct handling of splitting of target for (A>=2,Z=0). Added throwing of exception to signal NULL pointer. + models/de_excitation: o G4ParaFissionModel: fixed initialisation of G4Fragment (A,Z order), use G4NucleiProperties to access mass. o Generic Processes: ----------------- + Cuts: o Added protection in G4ProductionCuts::SetProductionCuts() to check consistencies of size of given vector. o Defined error codes for G4Exceptions. + Management: o Defined error codes for G4Exceptions. Some code cleanup. + Parameterisation: o Added missing implementation of inlined method ProposePrimaryTrackFinalKineticEnergy() in G4FastStep. + Transportation: o G4UserSpecialCuts: fixed bug in energy tracking cut; changed order of checks: 1st energy tracking cut, 2nd track length, 3d time cut, 4th range for charged particles with non-zero mass. Removed unnecessary string comparisons. o G4CoupledTransportation: added missing EndTracking() method to reset the activated navigator list. o Physics Lists: ------------- + G4EmStandardPhysics_option1: fixed missing line defining polar angle limit, responsible for significant CPU penalty in single scattering of muons. + Fix in QGSP_BERT_NOLEP and QGSP_QEL for missing inclusion of G4HadronQElasticPhysics header. o Run: --- + G4RunManager: added protection for WIN32 against already existing directory when saving random seeds. Addressing problem report #1157. o Examples: -------- + Updated reference outputs. + Fixed use of 3Vector in some advanced examples, causing compilation error. + advanced/composite_calorimeter, lAr_calorimeter: o Updated physics lists. + advanced/human_phantom, underground_physics: o Some code cleanup. + extended/biasing/ReverseMC01: o Added protection for unitialised mean&error in RMC01AnalysisManager::ComputeMeanEdepAndError(). + extended/electromagnetic/TestEm5, TestEm7, TestEm11, TestEm12: o Minor cleanup of SS physics constructor. + extended/electromagnetic/TestEm9: o Added extra run with 20 GeV mu- into input macro TestEm9.in. + extended/eventgenerator/particleGun: o Fixed Aida file-option in HistoManager. + extended/medical/electronScattering, fanoCavity, fanoCavity2: o Minor cleanup of SS physics constructor. + extended/medical/electronScattering2: o Added physics builders from electronScattering example. + extended/optical/wls: o Added missing inclusion of header in WLSRunAction, to allow for compilation on Windows. + extended/parameterisations/gflash: o Corrections in use of namespaces to allow for compilation on Windows. Some cleanup. + extended/persistency/P03: o Added batch.mac input macro, replacing use of OGL vis driver by ASCII. + extended/radioactivedecay/rdecay01: o Modified PhysicsList, setting ARM to false. o Print global time from SteppingVerbose. o Fixed Aida file-option in HistoManager. o Added macro Co60.mac. + novice/N02, N03: o Changed step-point size in visualization macro to 1. + novice/N05: o Fix in ExN05DetectorConstruction::SetProductionCuts() in array initialisation. ---------------------------------------------------------------------------- Technical Notes --------------- o This patch should be applied on top of relese 9.4. o Technical notes distributed for release 9.4 are also applicable and valid for this patch. The code and rebuilt binary libraries for release 9.4 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.