Geant4 4.1 Release Notes ------------------------ 28th June 2002 These are the main new features/fixes included in this release since the last public release (for the detailed list of fixes/additions, please refer to the related History files): o Configuration: ------------- - Added Darwin-g++.gmk configuration file for MacOS-X systems running with GNU g++ compiler. - Removed obsolete SUN-CC4.gmk configuration file. o Event: ----- - Introduced new G4TrajectoryContainer class aggregating STL vector. - Added TransferOneStackedTrack() method to G4StackManager. o Electromagnetic Processes (Low-energy): -------------------------------------- - New more complete and detailed data files (G4LOWEN1.1 data set). - Extended parameterisation of e- ionisation (24 parameters per each atomic shell) in order to have better fit to EEDL data. - Bug fixes in e- bremsstruhlung process. - Fixes and updates to parameterisation of the cross section in photo-electric effect. - Updates to polarised Compton process. - Provided simulation of ionisation for GenericIons. - Fixes in simulation of fluctuations of energy loss. - Fixes in simulation of hadron induced fluorescence. - Provided simulation of Auger electrons production. - Fixes to the angular distribution in Rayleigh scattering (G4LowEnergyRayleigh process). - Added UI control on the threshold to produce fluorescence photons and Auger electrons as secondaries. o Electromagnetic Processes (Standard): ------------------------------------ - New classes (G4VXTRenergyLoss, G4GammaXTRadiator and G4RegularXTRadiator) for the description of X-ray transition radiation as continuous process. - New electromagnetic process G4GammaConversionToMuons for gamma conversion into muon pairs. - G4MultipleScattering: new parametrisation for angle distribution. Modified boundary algorithm and some other minor fixes. Improvements and performance optimisation. - Fixes to hadron ionisation/energy-loss processes for delta-electron spectra of GenericIons. - G4eIonisation: fixed access to energy cuts in BuildLossTables. - Modifications in G4PAIxSection allowing to get additional information on transverse and longitudinal excitations at atomic frequences. - Bug fix in G4GammaConversion::DoIt() for e+e- angular distribution. - G4ComptonScattering: set LowestEnergyLimit to 1*keV. - G4PhotoElectricEffect: o keep only Sandia crossSections, removed call to BuildPhysicsTables. Simplified public interface. o generate theta angle of the photoelectron from Sauter-Gravila distribution. - G4Scintillation, G4Cerenkov: tracks are suspended only in 'fAlive' state. - G4VMuEnergyLoss: bug fix in number of subcutoff delta. o General Processes, Parameterisation, Decay, Optical: --------------------------------------------------- - Added method G4VProcess::GetCurrentInteractionLength(). - Fixed bug in G4VProcess::PostStepDoIt() when MeanFreePath is DBL_MAX. o Geometry: -------- - Introduced optional 3D geometry optimisation for parameterised volumes. - Introduced ability to optionally disable optimisation of hierarchies of geometry volume placements, through G4LogicalVolume. - Enhanced reflection of volumes to cover all CSG and CSG-like solids. - First release of module for importance biasing. - Enhanced behavior for destructors of volumes/solids stores. o Added locking mechanism for preventing conflicts when destroying stores and deregistering pointers. o Added Clean() static method to volumes/solids stores to explicitely delete pointed objects in the stores and clear all entries. - G4GeometryMessenger: added new commands to exploit more features of the G4GeomTestVolume class for detecting geometry overlaps. - G4Tubs: restored original "vertices" algorithm for CalculateExtent() which was temporarly disabled. - G4Sphere: bug fixed in Inside() for treatment of point p on z-axis. - G4BREPSolidPCone: added sanity check of delta phi section value and exception is thrown saying about this unsupported feature if delta phi is less than 2*PI. - G4AssemblyVolume: o Fixed inconsistent handling of input rotation matrices. o Corrected handling of cases when pointer to rotation matrix is zero. o Moved accessors to assembly counters to public. o Added support for user definable count base for generated physical volumes. - Implemented G4EllipticalTube::CreatePolyhedron(). - Fix in G4Navigator for problem concerning ExitNormal with photons. o Global: ------ - G4String: use G4std::string instead of internal type 'std_string' in signatures of public methods. No functional or interface changes. - G4DataVector: initialise to zero values in collection for contructor taking capacity. - Added more verbosity to G4Exception. - Introduced temporary patches for porting on gcc-3.1 compiler. o Hadronic Processes: ------------------ - General code cleanup for removal of warnings. - cross_sections: o Included the high Q2 part of the cross-section into electro and photo nuclear reaction cross-sections, and into the equivalent photon production. o New class for calculating projectile fragment cross-sections in ion ion reactions. Implements Physical Review C61, 034607 (2000). based on EPAX Version 2, with the kind permission of the authors. - management: o Included recoil charge state treatement in HadronicProcess. o Bug-fix affecting energy conservation for anti-protons in hydrogene. - models/chiral_inv_phase_space: o Included Q2!=0 for gamma and electro nuclear reactions. o Using quark-gluon string model now to simulate reactions with large energy transfers. o Added protection for reactions at threshold. - models/coherent_elastic: o Improvement for coulomb effects. o Correction of array sizes; slightly extends the applicability. - models/high_energy: o Fix for a long standing problem in phi symmetry traced to the Cross method of G4HEVector. - models/leading_particle: o New package, steming from a partial re-implementation of the MARS code. Valid for energies below 5 Gev for proton/neutron/pi+-, K+-/gamma/anti_proton The code is intrinsically leading particle biased, hence applicable for radiation background simulations. Typical application of this would be in the ESA MOLASSIS application. - models/low_energy: o Correction for randomization of fermi motion (1 in 1000 effect). o Better treatement for anti-nucleons through accounting of annihilation energy. o Various cross-sections in the accounting of nucleons. o Improved pi-0 to charged pion rations used in low energy models. o Improved treatement of Lorentz transformation, getting rid of the 1 in 100 phi=0 peak for nucleons. - models/neutron_hp: o Resolved a problem in the effective luminosity correction in the doppler broadening on the fly. Removes a bias in capture time on termal neutrons in hydrogen (was off by 10%). - models/radiative_decay: o Fixed problem with sort, leading to erroneous behavior. - models/generator/de_excitation: o Moving the catching of low energy gammas. o Adding a complete set of fresh evaporation code, that is more or less equivalent to the GEM evaporation models. It produces fragments up to Na25. Currently at beta level. G4Evaporation::SetGEMChannel() method should be used to activate this. - models/generator/high_energy: o Included direct strong resonance decay in case of scattering off hydrogen, hence removing this boundary use-case from the cascade interface specifications. - models/generator/management: o Added utility interface for nucleus and nuclear density functions, for the use of cascade codes. - models/generator/pre_equilibrium: o Fixed error in the low energy proton distributions o Improvements in the level density. o Bug fixed in angular distributions (theta). o Small bug fixed in the equilibrium exciton number. o Migration to new pairing corrections. - models/generator/quark_gluon_string: o Design iteration to enable specialization of participants in string excitation. o Added gamma nuclear reactions by adding specialised participants for this; based on single nucleon participant model, and mesonic structure; assuming vector meson dominance in the reactions and splitting. - models/generator/util: o Added utility for the decay of strong resonances. o Added consts to enforce few design considerations. o Magnetic Field: -------------- - Fix in G4MagIntegratorDriver to update the field track for small steps. - Fixed LinearStep in G4MagHelicalStepper (expected unit direction). - Changed maximum number of steps in driver from 500/order to 250/order. - Fix in G4MagHelicalStepper::LinearStep(). - G4ChordFinder: corrected behaviour for very small or large step changes. o Materials: --------- - G4Material: removed check of the ideal gas state equation. o Particles: --------- - Added G4TauLeptonicDecayChannel for tau leptonic decay. - Fixed a bug in G4NeutronBetaDecayChannel. o Run, Intercoms and Interfaces ----------------------------- - Introduced new class G4UIGainServer, socket extension for G4UIGAG. - Adopt limit to the number of stored command strings. - Cleared naive usage of G4String type arguments from most UI classes. - Modified G4RunManager to re-open geometry when G4 changes to QUIT state. - Use "virtual" inheritance for G4VModularPhysicsList. - Fixed pedantic warnings. o Tracking & Track: ---------------- - G4TrackingManager: implemented EventAborted() method. o Transportation: -------------- - Added new classes for management of biasing transportation and scoring. o Visualization: ------------- - Prevent copying of autoRefresh status with /vis/viewer/set/all command. - Corrected out of date advice about /vis/set/culling, etc. - Deprecated /vis/viewer/set/autoRefresh command. - Workaround for pseudo-parallel/orthogonal projection in Ray Tracer. - Updated OpenGL to compile on Windows (G4VIS_BUILD_OPENGLWIN32_DRIVER). - Bug fixes in G4VRMLXFileSceneHandlerFunc class. - Fixed pedantic warnings. o Examples: -------- - Novice: o Added G4Scintillation process to example N06. - Extended: o Created 8 new examples for importance biasing and scoring. o Created 2 new examples demonstrating event-level parallellism. o Introduced first version of example for importing GDML geometries. o Introduced first version of CMS tool for debugging geometries overlaps. o Added example showing import of STEP CAD geometries. o Created 2 new examples showing usage of HepMC event generator. o Added new EM example TestEm6 for G4GammaConversionToMuons process. o Migrated EM examples to use AIDA 2.2 for histogramming. - Advanced: o Updated examples to recent development and usage of histogramming features in AIDA 2.2. - Updated reference outputs. ---------------------------------------------------------------------------- Technical Notes --------------- The code and some binary libraries are available through our "Source Code" Web page: - see our Geant4 Home Page (http://cern.ch/geant4). Please refer to the Geant4 User Documentation (http://cern.ch/geant4/G4UsersDocuments/Overview/html) for further information about using Geant4. Contents -------- 1. Supported and Tested Platforms 2. AIDA and CLHEP 3. The Standard Template Library (STL) 4. Persistency 5. Compiler Specific Problems 6. Known Run-Time Problems 7. Compilation Warnings 8. Known Run-Time Warnings 1. Supported and Tested Platforms --------------------------------- o SUN Solaris 5.7, C++ 5.2 Patch 109508-03. o Linux, gcc 2.95.2, egcs-2.91.66 (egcs 1.1.2). This configuration was tested with the RedHat 6.1 and 7.2 distributions, versions of Geant4 have also been compiled successfully on other Linux distributions, like Debian or Suse. The default RedHat compiler gcc-2.96 ditributed in RedHat 7.X is NOT supported. It has been verified that it produces incorrect binaries, therefore is not reliable. See also note below. o Windows-2000 and CygWin Tools with: Visual C++ 6.0 Service Pack 5 Platforms configured but not tested and not supported: o DEC V4.0, cxx C++ V6.1-027 with/without ObjectSpace STL o HP 10.20, aCC C++ B3910B A.01.23 with/without ObjectSpace STL o SGI V6.5.5, CC 7.2.1 with ObjectSpace STL o AIX 4.3.2, xlC compiler with ObjectSpace STL o MacOS 10.1, gcc 2.92.2 2. AIDA and CLHEP ----------------- Geant4 4.1 requires the installation of CLHEP. See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html). Tests have been performed with CLHEP 1.7.5.0. However, first level porting has also been verified on CLHEP 1.8.0.0. By default, the CLHEP installation scripts will activate ISO/ANSI C++ features if the compiler is capable. You need to explicitly disable CLHEP settings in case you wish non-ISO/ANSI setup on specific compilers. Geant4 4.1 examples with histogramming cowork with AIDA 2.2 implementations. These include: - ANAPHE 4.0.4 and components included therein: Objectivity 6.1.3 HepODBMS 0.3.3.1 CLHEP 1.7.5.0 (see: http://cern.ch/anaphe) - JAS 2.2.5 (see: http://jas.freehep.org) - Open Scientist v8 (see: http://www.lal.in2p3.fr/OpenScientist/v8/welcome.html) AIDA headers can be downloaded from: http://aida.freehep.org 3. The Standard Template Library -------------------------------- Native versions of STL have been tested on the following platforms: Windows/2000, Linux, and SUN. NOTES: - Platform specific setup: o SUN: Native STL is required for ISO/ANSI setup. o Linux: Native STL is required (non ISO/ANSI setup for egcs compiler only). o W2000: Native STL and ISO/ANSI setup required (VC++ 6.0). 4. Persistency -------------- See release notes for Geant4 4.0. 5. Compiler Specific Problems ----------------------------- o Linux Red Hat 7.X, gcc-2.96. - The default compiler distributed by Red Hat since release 7.0 is NOT supported and not considered reliable for running a Geant4-based application. In more than one test case, binaries produced by gcc-2.96 have shown incorrect behavior, either due to wrong order of initialisation of static data in memory or to bugs in the system iostream classes, problems which apparently have all been solved in more recent versions of the compiler (3.X series). For information, gcc-2.96 is a compiler that has never been officially released, nor supported by the GNU team itself and is not considered reliable by the authors (for more information, see also http://gcc.gnu.org/gcc-2.96.html). 6. 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, available on the Web at this address: http://cern.ch/geant4/problemreport 7. Compilation Warnings ----------------------- There are compilation warnings on some platforms. We do not believe that any will lead to incorrect run-time behaviour, but we are working on reducing them. 8. Known Run-Time Warnings -------------------------- The following messages can be written to error output while tracking. We believe none give rise to incorrect behaviour. o G4PropagateInField: Warning: Particle is looping - tracking in field will be stopped. It has performed 10000 steps in Field while a maximum of 10000 are allowed.