Back to home page

EIC code displayed by LXR

 
 

    


Warning, /geant4/CHANGELOG/Beta4.9.4-1.txt is written in an unsupported language. File is not indexed.

0001 
0002                   Geant4 9.4-beta-01 Release Notes
0003                   --------------------------------
0004 
0005                                                             25 June 2010
0006 
0007 List of main features and fixes included in this Beta release since 9.3.p01:
0008 
0009   o Configuration:
0010     -------------
0011     + Configure script:
0012       o Protected echos on LD_LIBRARY_PATH so that output from use of
0013         Configure post-install is clean.
0014       o Added removal of quotes from make version string to handle non-English
0015         language systems.
0016       o Fixed selection of XERCESCROOT path for Windows.
0017       o Added new data set G4NEUTRONXS (Evaluated neutron cross section
0018         data, version 1.0), controlled by variable G4NEUTRONXSDATA.
0019       o Updated data set G4EMLOW to version 6.13.
0020     + Removed 'leading_particle' hadronic module from include paths list.
0021     + Increased stack size on WIN32-VC setup (i.e. 8MB as on Linux), adding
0022       the option to LDFLAGS.
0023 
0024   o Digits+Hits:
0025     -----------
0026     + Added missing virtual destructor to G4VScoringMesh and removed
0027       unnecessary virtual qualifiers to G4ScoringBox.
0028 
0029   o Environments:
0030     ------------
0031     + G4Py:
0032       o Revised usage of MultipleScattering classes to make use of new particle
0033         based processes.
0034       o Fixed bug in wrapping of G4GDMLParser.
0035       o Updated run-manager and physics-lists.
0036     + Momo:
0037       o Revised obsolete trajectory drawing.
0038 
0039   o Event:
0040     -----
0041     + Improved logic in G4PrimaryTransformer. Addressing problem report #1101.
0042     + Fixed compilation warning in G4SmartTrackStack issued with gcc 4.5.0.
0043     + Added few accessors methods to G4SPSEneDistribution class.
0044     + Removed obsolete CLHEP_HepMC option from G4EventManager class.
0045 
0046   o Geometry:
0047     --------
0048     + solids/Boolean:
0049       o Introduced recursive algorithm in CreatePolyhedron() for Boolean
0050         operations: it uses HepPolyhedronProcessor from 'graphics_reps' module,
0051         using new technique in attempt to avoid numerical problems for the
0052         calculation of the polyhedron in BooleanProcessor. It allows to try
0053         all permutations, also for Booleans of Booleans.
0054         Helps in reducing the number of cases of "Error in Boolean processor"
0055         for visualization; still some stubborn cases are left.
0056     + solids/CSG:
0057       o G4Box: first implementation of speed improvements and corrections from
0058         joint code review of G4Box class: introduced half-tolerance constants
0059         and better logic in some conditional statements. Some code cleanup.
0060       o G4Orb: modified DistanceToIn(p,v) to be more consistent with Inside(p).
0061     + solids/specific:
0062       o Introducing new G4GenericTrap shape, a new solid representing an
0063         arbitrary trapezoid with up to 8 vertices standing on two parallel
0064         planes perpendicular to the Z axis.
0065       o Fix in G4TriangularFacet and G4TessellatedSolid to correct treatment of
0066         optical photon transport related to internal reflection at surface.
0067         Addresses problem report #1103.
0068       o G4ExtrudedSolid: eliminated requirement for clockwise ordering of
0069         polygon vertices. Added a check for vertices ordering; if vertices
0070         are defined anti-clockwise their ordering is reverted.
0071         Fix in polygon facet triangularization for consequent concave vertices.
0072       o Fixed deletion of internal arrays in CreatePolyhedron() for G4Polycone
0073         and G4Polyhedra.
0074     + volumes:
0075       o Make use of specialized allocator for handling internal vector in
0076         G4NavigatorHistory, globally controlling the memory pool, to optimise
0077         memory management and reduce fragmentation.
0078         Measured ~2% average run-time speed-up.
0079       o Added Reset() method to G4ReflectionFactory for clearing maps of
0080         constituent and reflected volumes.
0081 
0082   o Global:
0083     ------
0084     + Introduced G4PhysicsVectorCache, placeholder for cache R/W data in use
0085       by G4PhysicsVector and derivates. Modified G4PhysicsVector and
0086       G4LPhysicsFreeVector accordingly.
0087     + Moved interpolation methods to inline in G4PhysicsVector.
0088     + More safe numerical computation of A13() and logA() methods in G4Pow.
0089     + Changed date for release 9.4-beta.
0090 
0091   o Graphical Representations:
0092     -------------------------
0093     + Added support for new command "/vis/scene/add/digits", analogous to the
0094       already-existing "/vis/scene/add/hits": added methods Draw() and
0095       FilterDigi() for digits in G4VVisManager; added method AddCompound ()
0096       in G4VGraphicsScene.
0097     + Added method DispatchToModel(const G4VTrajectory&), i.e., without i_mode,
0098       to G4VVisManager in order to distinguish usage and in preparation for
0099       'i_mode' migration.
0100 
0101   o Intercoms:
0102     ---------
0103     + G4UIManager: added field to get GUI Window session.
0104     + Added used characters to 'tokenNum' in G4UItokenNum suppressing compiler
0105       warnings of gcc-4.5.0.
0106 
0107   o Interfaces:
0108     ----------
0109     + G4UIExective: changed order for session type; GUI session is prioritized.
0110     + G4VBasicShell: implemented improvements for command completion.
0111     + G4Qt: added a link to G4UIQt
0112     + G4UIQt: added tab widgets for visualization. Added new command in help
0113       tree for immediate update of the tree. Fixed warning in standard-output
0114       during viewer creation and fixed flush problem. Fixed recursive repaint
0115       problem. Fixed call to contructor QKeySequence() in AddButton() to
0116       allow for porting on gcc-4.5.0.
0117 
0118   o Materials:
0119     ---------
0120     + G4MaterialPropertyVector: removed allocation of temporary helper object
0121       and modified GetAdjacentBins() to allow for a value to match a bin
0122       exactly. Measured 21% CPU speed-up for optical processes.
0123     + G4OpticalSurface: changed GetAngularDistributionValue(), no longer
0124       dereferencing a pointer but returning the value at the array index.
0125     + G4NistMaterialBuilder: added 6 new materials.
0126     + G4NistMaterialBuilder, G4NistManager: added method
0127       GetMeanIonisationEnergy(). Added material G4_LUCITE.
0128     + G4ionisParamMat, G4DensityEffectData: added possibility to access density
0129       effect data in the case when pure material is not defined via NIST; atom
0130       number and state of such materials are checked.
0131     + G4DensityEffectData: fixed method GetIndex(Z, state) for Hydrogen
0132       and solid states, renamed it to GetElementIndex().
0133     + G4IonisParamMat: added member and method GetInvA23(); use
0134       GetElementIndex().
0135     + G4IonisParamElm: use mean excitation energy from NIST DB; addressing a
0136       problem reported for mean energy deposition in compound materials.
0137     + G4AtomicShells: improved performance by adding indexing array.
0138     + G4Element: moved include of G4AtomicShells header to the source.
0139 
0140   o Particles:
0141     ---------
0142     + Allow creation of shortlived particles other than in 'PreInit' state.
0143     + ElectronOccupancy in G4DynamicParticle is now created on demand, i.e.
0144       it is not created at construction of G4DynamicParticle but when
0145       AddElectron() or RemoveElectron() are invoked.
0146     + Fixed problems that error messages appear in cout and not in cerr.
0147     + Added anti-nuclei as short-lived particles.
0148     + G4MuonRadiativeDecayChannelWithSpin: corrected sign error.
0149     + Code cleanup in G4DynamicParticle constructors.
0150 
0151   o Persistency:
0152     -----------
0153     + Added G4GenericTrap among the set of supported solids in both GDML reader
0154       and writer, treating as 'arb8' GDML type.
0155     + Corrected dump of division axis in GDML writer.
0156     + ASCII module: added missing virtual destructor to G4tgbDetectorBuilder.
0157 
0158   o Physics Lists:
0159     -------------
0160     + Moved QGSP_FTFP_BERT list to supported (was experimental).
0161     + Removed previously blocked lists (FTFP_EMV, QGSC_EFLOW, QGSP_EMX).
0162     + Remove obsolete lists, except QGSP (now blocked) and QGSC_CHIPS;
0163       i.e. lists removed: FTFC, FTFP, LHEP_BERT_HP, LHEP_BERT, LHEP_PRECO_HP,
0164            QGSC_EMV, QGSC, QGSC_QGSC, QGSP_BERT_DIF, QGSP_BERT_NQE,
0165            QGSP_DIF, QGSP_EMV, QGSP_EMV_NQE, QGSP_NQE, QGSP_QE
0166     + New physics list QGSP_BERT_CHIPS: use CHIPS inelastic for all "misc"
0167       particles, including anti-proton, anti-neutron and hyperons.
0168       Also use interface to CHIPS cross-sections for Kaons.
0169       Added classes: QGSP_BERT_CHIPS, HadronPhysicsQGSP_BERT_CHIPS, and
0170       G4MiscCHIPSBuilder; modifed G4PhysListFactory accordingly.
0171     + Introduced new constructor for all builders with verbosity argument.
0172       Existing constructors are kept, but updated default arguments to avoid
0173       ambigous signatures. Changed physics-lists to use the new constructor.
0174       Introduced new constructor for G4NeutronTrackingCut.
0175     + Replaced G4HadronQElasticPhysics with G4QElasticPhysics and G4IonPhysics
0176       with G4QIonPhysics in the CHIPS physics-list 
0177       Bug fix for the virtual destructor in G4QElasticPhysics & G4QIonPhysics.
0178       Particles are restricted to SU(3) hadrons (no pi0 & eta) in
0179       G4QElasticPhysics.
0180       Fix in G4QPhotoNuclearPhysics to reset particles iterator.
0181     + G4EmStandardPhysics_option2: added G4WentzelVIMscModel and 'RangeFactor'
0182       set to 0.04 for e+-.
0183     + G4EmLivermorePhysics, G4EmPenelopePhysics, G4EmDNAPhysics,
0184       G4EmLivermorePolarizedPhysics: added G4GoudsmitSaundersonMscModel for e+-;
0185       added 1 MeV upper limit for the Livermore ionisation model (was 1 GeV).
0186     + Revised QGSP_FTFP_BERT and FTFP_BERT lists to use CHIPS G4QInelastic for
0187       all "misc" particles, including anti-proton, anti-neutron  and hyperons,
0188       and use interface to CHIPS cross-sections G4QHadronInelasticDataSet for
0189       kaons. Required changes to respective HadronPhysics* classes.     
0190     + LBE: substituted obsolete G4MultipleScattering by particle wise processes.
0191     + QBBC: disabled multi-fragmentation model of deexcitation.
0192     + G4FTFPNeutronBuilder, G4FTFPPiKBuilder, G4FTFPProtonBuilder,
0193       G4QGSPNeutronBuilder, G4QGSPPiKBuilder, G4QGSPProtonBuilder, G4QGSBuilder:
0194       added deletion of G4ExcitationHandler and G4QGSMFragmentation; added
0195       deletion of neutron builder for QGSP_BERT, FTFP_BERT, QGSP_FTFP_BERT.
0196 
0197   o Electromagnetic Processes:
0198     -------------------------
0199     + Adjoint:
0200       o G4AdjointhMultipleScattering: removed unused header.
0201     + High Energy:
0202       o New model G4ICRU73NoDeltaModel, derived from G4ICRU73QOModel.
0203     + Low Energy:
0204       o Added four new models (gamma ray models Compton, GammaConversion,
0205         PhotoElectric, Rayleigh), upgrades of G4Penelope from version 2001 to 
0206         version 2008.
0207       o Added MinEnergyCut() method to G4PenelopeIonisationModel. Small (minor)
0208         changes to other Penelope models (mainly clean-up).
0209         Removed useless call in G4PenelopeIonisationModel which triggered fake
0210         warning messages.
0211       o Updated public interface of G4LivermorePhotoElectricModel.
0212         Removed possibility to use custom cuts for fluorescence/Auger.
0213         Main cuts from G4ProductionCutsTable are always used, for consistency.
0214       o New G4PenelopeOscillator* classes (Beta version) to manage
0215         multi-element atomic oscillators used in Penelope Compton and
0216         Ionisation models. Compliant with Penelope-2008.
0217       o Added dummy method ComputeCrossSectionPerAtom() in
0218         G4PenelopeRayleighModel, never inkoved in tracking and issuing a
0219         warning if users access it via G4EmCalculator.
0220       o Clean-up in Penelope models; explicitely set Auger flag to false in 
0221         constructor.
0222       o Fixed initialisation order in some models' constructor to fix Valgrind 
0223         run-time errors reports.
0224       o Fixed bugs in G4AtomicDeexcitation and G4AugerTransition.
0225       o G4DNA processes:
0226         - Added new prototype excitation model for electrons in
0227           G4DNABornExcitationModel. Will be fully released in December.
0228         - Corrected G4DNABornIonisationModel for maximum kinetic energy
0229           transfer.
0230         - Modified method declaration in G4DNABornExcitation. Modified electron
0231           correction in G4DNAMillerGreenExcitation.
0232         - Extended search range for maximum of DCS in G4DNARuddIonisationModel.
0233         - Changed default parameters in G4DNAEmfietzoglouExcitationModel.
0234           Modified initialisation of e- Emfietzoglou excitation model to fix
0235           memory leaks.
0236         - Changed computation of scattering angle in G4DNAChampionElasticModel.
0237         - Replaced hard coded masses in G4DNADingfelderCharge* classes.
0238       o New PIXE developments:
0239         - G4ecpssrKCrossSection and G4ecpssrLiCrossSection classes: these
0240           classes substitute the G4ecpssrCrossSection class, fixing existing
0241           bugs and improving the goodness of the results especially at higher
0242           energies.
0243           The Geant4 PIXE developers are really thankful to Maria Grazia Pia
0244           for searching for bugs in the previous Geant4 release, pointing
0245           existing problems and propose solution in a very collaborative way
0246           in: M.G.Pia et al., CHEP-2009 conference, March 2009, Prague (Czech
0247           Republic).
0248         - G4empCrossSection and G4teoCrossSection classes: these two classes,
0249           deriving from G4VhShellCrossSection, provide the interface to
0250           empirical ionization cross sections (Orlic for L shells and Paul
0251           for K).
0252         - G4hShellCrossSection, G4hShellCrossSectionDoubleExp,
0253           G4hShellCrossSectionDoubleExpData, G4hShellCrossSectionExp,
0254           G4hShellCrossSectionExpData classes are now discontinued.
0255         - G4hLowEnergyIonisation has been updated to follow the new design
0256           and let the user chose which model to use for the calculation of shell
0257           ionization cross section through the method SelectShellIonisationCS().
0258           Dependencies on old methods for cross sectiuon calculation have been
0259           removed.
0260         - Bugs fixes in G4OrlicLiCrossSection and G4PaulKCrossSection.
0261       o Fix in G4AugerTransition to cure crash on Windows.
0262       o Added missing virtual destructors where necessary.
0263       o Corrected return value case in method GetPhotoElectronDirection()
0264         in G4PhotoElectricAngularGeneratorSauterGavrila.
0265         Addressing problem report #1120.
0266       o Requires new G4LEDATA data set, version 6.13.
0267     + Muons:
0268       o G4MuPairProductionModel: added sampling recoil of a primary particle
0269       o G4MuIonisation: use G4ICRU73QOModel for mu- for E< 0.2 MeV.
0270     + Polarisation:
0271       o Fix in G4ePolarizedIonisation to use default vector size of
0272         G4VEnergyLossProcess and avoid size mismatch in G4LossTableBuilder.
0273     + Standard:
0274       o G4GoudsmitSaundersonMscModel: fixed problems of small angle theta
0275         distributions. Improved numerical stability of computations for small
0276         angles by direct cross-section calculation, now inverse of the inverse
0277         angular sampling without large angle rejection method longitudinal
0278         displacement is computed exactly from <z>.
0279       o G4GoudsmitSaundersonTable: improved numerical stability by minimum of
0280         used arrays in computation within the dichotomy finding method.
0281         Optimized code to improve speed by addition extra class members.
0282       o G4eBremsstrahlungModel: reduced 'minThreshold' to 0.1 keV.
0283       o G4MollerBhabhaModel: reduced minimum cut value to mean ionisation
0284         potential.
0285       o G4WentzelVIModel: added protections; added DefineMaterial() call to
0286         cross-section class.
0287       o G4ASTARStopping, G4PSTARTStopping: replaced C-arrays with
0288         G4PhysicsVector with Spline interpolation. Reviewed names of materials
0289         (G4_PHOTO_EMULSION, G4_He, G4_NYLON-6-6).
0290       o Fixed G4_O data in G4ASTARStopping. Fixed G4_Pt and G4_PROPANE data in
0291         G4PSTARStopping.
0292       o Cleanup in GetElectronicDEDX() method in G4WaterStopping.
0293       o G4eMultipleScattering, G4hMultipleScattering: improved printout at
0294         initialisation. Removed old unused header of G4UrbanMscModel in
0295         G4hMultipleScattering.
0296       o G4eBremsstrahlungRelModel, G4MollerBhabhaModel: set minimum cut value
0297         to 0.1 keV.
0298       o G4eBremsstrahlungModel: fix in SelectRandomAtom() method.
0299         Addressing problem report #1115.
0300       o G4UrbanMscModel93: added randomization of step limit for the first
0301         step in any volume for option "UseDistanceTo Boundary".
0302       o G4BraggIonGasModel, G4BetheBlochIonGasModel: new ionisation models for
0303         low density media.
0304       o G4BraggModel: above 2 MeV use ICRU'49 parameterisation for all atoms.
0305       o New model G4ICRU73QOModel for anti-particles
0306       o G4hIonisation: use new G4ICRU73QOModel for negatively charged particles
0307         instead of G4BraggModel, which used to be applied for positevely
0308         charged particles only. This modification provides simulation of
0309         Barkas effect at low energies (before the effect was simulated at
0310         higher energies in G4BetheBlochModel).
0311         The high energy limit for the new model is the same as for G4BraggModel
0312         (2 MeV for protons/anti-protons).
0313       o G4WentzelOKandVIxSection: new class to compute cross sections and
0314         sample scattering angle.
0315       o G4WentzelVIModel, G4eCoulombScatteringModel, G4CoulombScatteringModel:
0316         use new class G4WentzelOKandVIxSection.
0317       o G4WentzelVIModel: optimized method of step limitation.
0318       o G4WentzelVIModel, G4eCoulombScatteringModel: added momentum dependent
0319         limit of scattering angle between single and multiple scattering which
0320         allows to use G4WentzelVIModel with optical model of hadron scattering.
0321       o G4PAIModel, G4PAIPhotonModel: added printout for the model
0322         initialisation.
0323       o Removed obsolete models: G4UrbanMscModel, G4UrbanMscModel2,
0324         G4UrbanMscModel71, G4MultipleScattering, G4ComptonScattering52,
0325         G4PolarizedComptonScattering.
0326     + Utils:
0327       o G4VMscModel, G4VMultipleScattering: set skin=1.0 as default.
0328       o G4LossTableManager: added new method GetNumberOfBinsPerDecade(), which
0329         is used in G4VEmModel for initialisation of G4EmElementSelector.
0330         Addressing problem report #1115.
0331         Added methods PreparePhsyicsTables(), BuildPhysicsTables(), fixing
0332         initialisation of models via G4EmConfigurator.
0333       o G4EmProcessOptions: removed extra initialisation code, already existing
0334         in G4LossTableManager.
0335       o G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering: added
0336         calls to new G4LossTableManager methods PreparePhsyicsTables() and
0337         BuildPhysicsTables().
0338       o Added method GetCurrentElement() in G4VEmProcess, G4VEnergyLossProcess
0339         and G4VEmModel classes.
0340       o G4VEmProcess: cleanup printout at initialisation for scattering process.
0341       o G4VEmModel: added method ChargeSquareRatio() to access current charge
0342         of an ion; use this method in G4VEnergyLossProcess.
0343       o G4VEnergyLossProcess: call CorrectionsAlongStep() only for ions (minor
0344         CPU saving). Use the same method to build cross section table
0345         as DEDX table (use copy constructors to reduce number of calls to exp()).
0346       o G4EmCalculator: fix in GetCrossSection() method.
0347       o G4EmElementSelector: use Spline flag to construct vectors probabilities.
0348       o G4EmModelManager: do not use min energy cut defined by models, so
0349         production threshold is defined only by range to energy conversion and
0350         is limited only by low limit of energy threshold defined in 'cut'
0351         category.
0352       o G4EmConfigurator: fix for case of more than one model added per a
0353         process.
0354       o G4EmCorrections: moved G4AtomicShell header into source.
0355     + Xrays:
0356       o Included scintillation rise time to G4Scintillation.
0357       o Use std namespace for mathematical functions explicitly.
0358 
0359   o Hadronic Processes:
0360     ------------------
0361     + Removed obsolete code for 'leading_particle' model.
0362     + cross_sections
0363       o G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS: added
0364         path to new data set through environment variable G4NEUTRONXSDATA.
0365       o Implemented integer Z and A transition to G4CrossSectionDataStore.
0366       o G4UPiNuclearCrossSection: fixed memory leak at destruction.
0367       o Updated G4GlauberGribovCrossSection for anti-protons.
0368     + management
0369       o G4HadronicProcess: added methods CheckEnergyMomentumConservation(),
0370         SetEpReportLevel(), SetEnergyMomentumCheckLevels() and
0371         GetEnergyMomentumCheckLevels(), which implement energy/momentum 
0372         checking. Some code cleanup.
0373       o New G4HadronicEPTestMessenger class to provide energy/momentum test 
0374         commands available in UI.
0375     + models/cascade
0376       o Replaced all uses of bindingEnergy() (local Bertini method) with the
0377         Geant4 standard G4NucleiProperties::GetBindingEnergy(A,Z) in classes
0378         G4IntraNuclearCascader, G4InuclCollider, G4NucleiModel, G4Fissioner,
0379         G4EquilibriumModel and G4NonEquilibriumModel.
0380         G4Fissioner still uses Bertini method bindingEnergyAsymptotic().
0381       o G4Diproton, G4Dineutron, G4UnboundPN: new G4ParticleDefinition
0382         subclasses, which implement the Bertini-specific dibaryon states.
0383       o G4ElementaryParticleCollider: replaced original (incorrect) pp, pn, nn
0384         2-body to 2-body scattering angular distributions with a new
0385         parameterization of elastic scattering data using the sum of two
0386         exponentials.
0387       o Improved angular distributions for 2-body final states of pi-nucleon,
0388         nucleon-nucleon, kaon-nucleon anf hyperon-nucleon scattering.
0389       o Replaced G4CascadeMomentum internal class with G4LorentzVector.
0390       o Completed first stage of migration from using internal Bertini particle
0391         types to Geant4 standard particle types.
0392       o Energy/momentum checks added which remove large energy non-conservation
0393         events.
0394       o Improved memory management: removed allocation of strings in various
0395         constuctors; replaced several cases of return-by-value with const or
0396         non-const reference, or by use of buffers.
0397       o CPU speed improvements from the removal of unnecessary class
0398         instantiations.. Code re-organization to permit more speed improvements
0399         in the future.
0400     + models/chiral_inv_phase_space
0401       o Updated proton elastic and CHIPS parameters.
0402       o Implemented anti-baryon elastic interactions.
0403       o Added pion elastic and fixed a bug in CHIPS fragmentation.
0404       o Implemented isotope wise CHIPS elastic for neutrons.
0405       o Fix in G4QElasticCrossSection in parameter order for nH. 
0406       o Bug fix in G4QNeutronNuclearCrossSection for Ba isotopes.
0407       o Bug fix for K0 in G4QKaonMinusElasticCrossSection::GetExchangeT().
0408       o Bug fix in G4QNucleus::ChoosePosition() for looping.
0409       o Fix to use of Z+N instead of N for A.
0410       o Corrected Titanium and Zirconium isotopes in G4QIsotope.
0411       o Added decay of Chipolino in the G4QEnvironment, when A_env=0.
0412       o Bug fix following G4NucleiProperties warning for A=0, Z=0.
0413       o Bug fix in G4QPDGCode and G4QEnvironment for Omega and Sigma;
0414         when mass is small for Lambda andSigma+, use Xi0,p.
0415       o Correction in G4QElastic for K0 elastic cross-sections.
0416       o Corrected treatment of vacuum in fragmentation module.
0417       o nn is decayed in G4QLowEnergy; Omega- is included in G4QElastic;
0418         N neutrons (A=N, Z=0) are decayed in G4QLowEnergy.
0419       o Bug-fix in G4QLowEnergy: pions as secondaries.
0420       o Bug-fix in K0 elastic & Ion-Ion Elastic.
0421     + models/coherent_elastic
0422       o Use G4Q(Proton/Neutron)ElasticCrossSection instead of
0423         G4QElasticCrossSection; fixed initialization problem for
0424         G4QNeutronElasticCrossSection.
0425       o G4UHadronElasticProcess: fixed CHIPS warning for Cu, due to wrong
0426         isotope sected; addressing problem report from ALICE.
0427     + models/de_excitation
0428       o G4StatMFMacroTemperature: cleanup logic of solving equation for
0429         temperature; moved constructors and destructor to source.
0430       o G4ProtonEvaporationProbability, G4DeuteronEvaporationProbability,
0431         G4TritonEvaporationProbability, G4He3EvaporationProbability,
0432         G4AlphaEvaporationProbability: return back to published variant
0433         parameterization of inverse cross section (OPT3, Kalbach).
0434       o G4FermiFragmentsPool: extended list of stable fragments.
0435       o G4UnstableFragmentBreakUp: new class to decay exotic fragment
0436         (like 2n or 2p).
0437       o G4DiscreteGammaTransition: make transition depended on Z and A (before
0438         was only Z) and added energy tolerance
0439       o G4VGammaDeexcitation: rewritten kinematic of 2-body decay.
0440         Fix to take into account electron mass in the case of electron emission.
0441         Take into account bounding energy of electron in the case of electron
0442         emission; fixed kinematic.
0443       o G4DiscreteGammaTransition, G4DiscreteGammaDeexcitation, 
0444         G4ContinuumGammaDeexcitation: set energy tolerance 1 keV. More accurate
0445         Lorentz computations. Define destructors to be virtual.
0446       o G4DiscreteGammaTransition: removed unphysical corrections of gamma
0447         energy; fixed default particle as gamma; avoid subtracting binding
0448         energy in case of electron emission.
0449       o G4ExcitationHandler: apply FermiBreakUp to fragments with A>1 (before
0450         was A>4) in order to reduce number of fake gamma produced in
0451         deexcitation of light fragments; added parameter 'minExcitation' equal
0452         to 1 keV. Added check on stability of primary; do evaporation if
0453         FermiBreakUp cannot deexcite a fragment. Added SetParameters() method.
0454       o G4Evaporation: rewritten BreakUp() method; added Initialise() method at
0455         construction, to setup all options and not at run time.
0456         Added InitialiseEvaporation() method to setup decay channels; changed
0457         order of decay channels: first photon evaporation, then fission,
0458         finally all other channels as before. Improved condition on how to
0459         stop deexcitation loop.
0460         Added call to G4UnstableFragmentBreakUp if natural abundances of cold
0461         fragment is zero and Z < 20; optimized logic of stopping of evaporation
0462         loop. Set as a default variant evaporation combining standard plus GEM
0463         probabilities.
0464       o G4PhotonEvaporation: added correction of electron state after emission.
0465       o G4VEvaporationChannel, G4PhotonEvaporation: added two new virtual
0466         methods EmittedFragment() and BreakUpFragment().
0467       o G4FermiConfiguration: parameter of Coulomb energy Kappa is changed from
0468         1 to 6 according to recommendation of original author of the model
0469         A.Botvina.
0470       o G4FermiPhaseSpaceDecay: improved model of sampling of kinetic energy.
0471         Cleanup of the code to use G4Pow.
0472       o G4FermiFragmentsPool: fix for fragment 111.
0473       o G4StatMFFragment, G4CompetitiveFission, G4EvaporationProbability,
0474         G4GEMProbability: corrected inclusion of headers.
0475       o G4E1Probability: code cleanup and optimisation by usage of G4Pow,
0476         integer A and introduction of const members. Added numerical protection
0477         to avoid division by zero.
0478       o G4GEMProbability: fixed numerical problem (division by zero), code
0479         cleanup and optimisation by usage of G4Pow and integer Z,A.
0480       o Code cleanup. Moved constructors and destructors to source files for
0481         virtual interfaces. 
0482     + models/im_r_matrix
0483       o Removed empty source file for G4VScatterer.
0484         Synchronised developments to HEAD version.
0485     + models/incl
0486       o Nuclear deformation and shell effect data reader now constructs the
0487         corresponding data tables correctly.
0488       o Added some internal logging facilities to INCL (disabled by default).
0489       o Added missing virtual destructor to base classes where necessary.
0490     + models/management
0491       o G4HadronicInteraction: added two methods, GetEnergyMomentumCheckLevels()
0492         and SetEnergyMomentumCheckLevels() in order to implement checking
0493         of energy/momentum conservation.
0494       o G4VPreCompoundModel: moved constructor and destructor to source.
0495     + models/neutron_hp
0496       o Modified sampling in G4NeutronHPInelasticCompFS.
0497       o  Fix bug about incidence energy in G4NeutronHPEnAngCorrelation.
0498     + models/parton_string/diffraction
0499       o Added missing virtual destructor to G4DiffractiveHHScatterer.
0500     + models/parton_string/hadronization
0501       o Improved Lund string fragmentation.
0502       o Fixed inconsistency between LightFragmentationTest and Lund
0503         fragmentation. Fixed problems of energy non-conservation in FTF.
0504     + models/parton_string/qgsm
0505       o Remove unused class G4PartonStringAnnihilator.
0506     + models/pre_equilibrium
0507       o G4PreCompoundModel: moved constructor and destructor to source.
0508       o Removed unused dummy classes G4VPreCompoundIon and
0509         G4VPreCompoundNucleon. 
0510       o G4PreCompoundProton, G4PreCompoundDeuteron, G4PreCompoundTriton,
0511         G4PreCompoundHe3, G4PreCompoundAlpha: return back to published variant
0512         OPT3 (Kalbach) parameterization of inverse cross section.
0513     + models/radioactive_decay
0514       o G4RadioactiveDecay:
0515         - In LoadDecayTable() create a decay table for isomers not included
0516           in RDM database and assume they all under go IT decay.
0517         - After DoDecay() check if there is any secondary produced.
0518           Kill the track if not to prevent infinite loop.
0519         - Insert a special treatment for K-40 beta decay; applied SetICM(),
0520           SetARM() and SetHLThreshold() to a decay channel.
0521           Addresses problem report #1068.  
0522         - Make sure the propertime is positive; negative case occures when the
0523           isomer is not in RDM database and its f-l is set to -1 by default.  
0524         - Corrected typo in declaration.
0525       o G4NuclearDecayChannel: added initialisation to all three constructors. 
0526       o G4RadioactiveDecay, G4NuclearDecayChannel:
0527         - Limit the shell index to < 7, as required by the ARM. Changed to use
0528           BreakUp() rather than BreakItUp() so to limit to one transition per
0529           step when ICM is applied. Addresses problem report #1001.
0530         - Added private member data 'applyICM', 'applyARM' and
0531           'halflifethresold' with their modifiers.
0532       o G4RadioactiveDecayMessenger: added the UI commands for SetICM, SETARM
0533         and SetHLThreshold.
0534     + models/util
0535       o G4Fragment: do not add any shift to excitation energy but use direct
0536         computation (this is needed to avoid infinite loop in gamma
0537         deexcitation); use G4NucleiProperties to access or compute ground
0538         state mass. Allow e- as a fragment.
0539         Added inline method ComputeGroundStateMass(); added accessors for
0540         integer Z and A; added ExcitationEnergyWarning() method.
0541         Minor speedup by adding member and access method to GroundStateMass.
0542         Some code cleanup: single return in inline methods.
0543     + util
0544       o Added interface for integer A&Z to G4Nucleus, and modified G4LightMedia,
0545         G4HadronicWhiteBoard and G4ReactionDynamics to use the new interface.
0546 
0547   o Optical Processes:
0548     -----------------
0549     + Fix for backpainted surfaces to avoid applying twice reflectivity.
0550        Addressing problem report #1114.
0551     + Refashioned code in the case of type 'dielectric_dielect'.
0552     + Fixed sampling of 'theFacetNormal' for 'polishedbackpainted' material
0553       in G4OpBoundaryProcess::DielectricDielectric() method. Address problem
0554       reported on Hypernews Optical Processes Forum, thread #334.
0555     + Modified G4OpBoundaryProcess to call ProposeLocalEnergyDeposit() every
0556       time a photon is in 'fStopAndKill' state because of NoRINDEX. This will
0557       trigger scoring when a photon encounters a volume not defined as an
0558       optical medium.
0559 
0560   o Run
0561     ---
0562     + Corrected printing of number of events processed on run abortion.
0563     + Fixed definition of path for Windows in G4RunManager for random seeds
0564       directory: use '\' instead of '/' and suitable system command.
0565     + Use "const G4String&" as arguments and return value wherever applicable
0566       in G4RunManager and G4RunManagerKernel.
0567 
0568   o Tracking
0569     --------
0570     + G4VTrajectory, G4Trajectory, G4SmoothTrajectory: added deprecation
0571       message, being printed via G4Exception only once, and only if a user
0572       invokes with a non-zero value of 'i_mode' in DrawTrajectory().
0573 
0574   o Visualization:
0575     -------------
0576     + management:
0577       o Added new "/vis/open" command for OpenGL viewers, "/vis/open OGL".
0578         This new form allows the same macro to be used whether one is on
0579         Linux or Windows (calling OGLSX on Linux and OGLSWin32 on Windows).
0580         When the application has been built with Qt, it will use the Qt form
0581         of OpenGL; when built with Motif, it will use the Motif form of OpenGL.
0582         Also added options OGLI and OGLS to force Immediate or Stored modes.
0583         The user is still free to use the older, specific viewer names, such
0584         as OGLIX, but the simple form, OGL, will give the most portable macros.
0585       o Added new "/vis/open" command for OpenInventor, "/vis/open OI".
0586         This new form allows the same macro to be used whether one is on Linux
0587         or Windows (calling OIX on Linux and OIWin32 on Windows).
0588       o Added "/vis/scene/add/digis" and "/vis/filtering/digi" commands,
0589         analogous to the already-existing commands "/vis/scene/add/hits" and
0590         "/vis/filtering/hits". As with hits, it remains the user's
0591         responsibility to provide the digitisation classes.
0592         Added method AddCompound(const G4VDigi&) to drivers.
0593       o Introduced DispatchToModel without 'i_mode'. The archaic form
0594         G4VTrajectory::DrawTrajectory(i_mode) is replaced by the newer form,
0595         G4VTrajectory::DrawTrajectory(). 'i_mode' used to be a parameter to
0596         control whether the trajectory was drawn as a line, a line plus step
0597         points, or only step points:
0598         - i_mode > 0 meant draw lines and points, size of points in
0599                      pixels = abs(i_mode)/1000
0600         - i_mode = 0 meant draw only lines
0601         - i_mode < 0 meant draw only points, size of points in
0602                      pixels = abs(i_mode)/1000
0603         Since release 8.1, better control has been available from the command
0604         "/vis/modeling/trajectories". Since release 5.0, 'i_mode' less than
0605         1000 has in fact drawn no points and 'i_mode' of 1000 has drawn points
0606         that were so small (a single pixel wide) that they were overshadowed
0607         by the trajectory itself except at endpoints of the trajectory or
0608         where the trajectory made a sharp change of direction.
0609         Use of 'i_mode' is now trapped and a warning gets printed.
0610       o Changed order of flags to follow G4UIExecutive.
0611       o G4VisManager, G4VisExecutive: introduced optional verbosity string
0612         argument in constructor; made 'fVerbosity' and GetVerbosity() static.
0613       o Added virtual destructors to fix compilation warnings.
0614     + modeling:
0615       o Added G4DigiModel and G4DigiFilterFactories.
0616       o Added default colours to G4TrajectoryDrawByParticleID.
0617       o Replace polyhedra with solids for sections and cutaways.
0618       o Trap use of 'i_mode' and print warning.
0619     + HepRep:
0620       o Added command "/vis/heprep/renderCylAsPolygons".
0621     + gMocren:
0622       o Removed dependency on G4VisManager. Improved printout.
0623     + OpenGL:
0624       o Some improvements with auto rotation mode.
0625       o G4OpenGLQtViewer: better inclusion of new tabs in UI part.
0626         Many improvements to OpenGL Qt.
0627       o Speed improvements for polymarkers (e.g., trajectories).
0628       o Corrected strdup usage in G4OpenGLViewer.
0629       o Use generic section and cutaway algorithm.
0630       o Added protection against multiple repaint call, and protection against
0631         resizeGl with bad values.
0632     + OpenInventor:
0633       o Added protection against repeated initialisation.
0634     + RayTracer:
0635       o Added missing virtual destructor to G4VRTScanner, G4RTXScanner and
0636         G4RTSimpleScanner classes.
0637 
0638   o Data Sets:
0639     ---------
0640     + G4EMLOW-6.13:
0641       o Updated PDF.dat to msc_GS module.
0642       o New directory and data files needed by ionisation cross section
0643         models for PIXE; added data tables in the directories uf, kpcsPaul
0644         and kacsPaul included in the 'pixe' dir.
0645       o Added 'sigmadiff_cumulated_elastic_e_champion.dat' and
0646         temporary 'sigma_excitation_e_born.dat' to dna module.
0647       o Added data files in the penelope module, necessary for
0648         Penelope08 models for gamma rays.
0649     + G4NEUTRONXS-1.0:
0650       o New data set for Evaluated neutron cross section data on natural
0651         composition of elements.
0652 
0653   o Examples:
0654     --------
0655     + Various fixes, improvements, adoption of new features.
0656     + Updated visualization usage in most examples, including macro sections
0657       the user can uncomment to activate additional features.
0658     + Adopt G4UIExecutive to initialise UI sessions.
0659     + Migrated physics-lists to use particle-based multiple-scattering
0660       processes.
0661     + advanced/human_phantom
0662       o Added missing includes, causing compilation error.
0663       o Corrected commands in some macros.
0664     + extended/electromagnetic/TestEm0
0665       o New physics-lists for EM standard options 0,1,2,3.
0666       o RunAction: printout both GetCrossSection() and ComputeCrossSection().
0667         Reverse order of calls, first ComputeCrossSection(), then
0668         GetCrossSection().
0669     + extended/electromagnetic/TestEm1
0670       o RunAction: replaced 'ProcessCount' with a map.
0671       o Introduction of G4UIExecutive in main().
0672     + extended/electromagnetic/TestEm2
0673       o Added histos rms on profiles (histos numbering is changed)
0674         and new scripts.
0675     + extended/electromagnetic/TestEm3
0676       o Added PhysListEmStandardGS and PhysListEmStandardWVI.
0677       o Added printout of mean number of gamma, e-, e+.
0678     + extended/electromagnetic/TestEm7
0679       o Added extra EM option "ionGasModels", which disables effective ion
0680         charge and enables use of new models G4BraggIonGasModel, 
0681         G4BetheBlochIonGasModel.
0682       o Added extra macro ionGasC12.mac.
0683       o Fixed setup for histograms through JAIDA.
0684     + extended/electromagnetic/TestEm8
0685       o PhysicsList, Em8DetectorConstruction: renamed "VertexDetector" with
0686         "GasDetector"
0687       o Added cut per region in TestEm8.in.
0688     + extended/electromagnetic/TestEm11
0689     + extended/electromagnetic/TestEm12
0690       o Added lists PhysListStandardGS, PhysListStandardSS, PhysListStandardWVI.
0691     + extended/electromagnetic/TestEm13
0692     + extended/electromagnetic/TestEm14
0693       o PhysicsList: extend 'ProductionCuts' down to 100 eV.
0694         Removed non pertinent EmOptions.
0695       o PhysListEmStandard, Livermore, Penelope: all processes registered as
0696         discrete (i.e., no continuous Eloss).
0697       o RunAction: replaced 'ProcessCount' with a map.
0698       o Cleanup in SteppingAction. Updated README.
0699     + extended/eventgenerator/HepMC
0700       o Updated to make use of HepMC-2.06.00.
0701       o Use QGSP physics-list.
0702     + extended/eventgenerator/particleGun
0703       o New example demonstrating three different ways of usage of
0704         G4ParticleGun, shooting primary particles in different cases.
0705     + extended/exoticphysics/monopole
0706       o Substituted QGSP list by QGSP_BERT.
0707       o Added new classes for monopole G4MonopoleEquation,
0708         G4MonopoleFieldSetup and G4MonopoleTransportation.
0709       o Added test on ionisation of heavy highly charged particle; some cleanup.
0710     + extended/hadronic/Hadr01
0711       o Cleanup of physics-list according to last update to physics_list
0712         library.
0713     + extended/medical/DICOM
0714       o Added function to read nested items (defined and undefined)
0715       o Removed dependencies on CONQUEST
0716       o DICOM handler can now read whichever DICOM file (PT,CT,DR,CR,US,MR... )
0717     + extended/medical/electronScattering
0718       o Added PhysListEmStandardWVI.
0719       o RunAction::PrintFluence(): print unormalized fluence per event.
0720     + extended/medical/electronScattering2
0721       o New example for simulation of precision electron scattering benchmark
0722         with minimal user code.
0723     + extended/medical/fanoCavity
0724     + extended/medical/fanoCavity2
0725       o Introduced PhysListEmStandard_option2 (UrbanMscModel93 without options)
0726         and PhysListEmStandard_WVI (using WentzelVIModel).
0727       o Added to run01.mac all physics lists choice.
0728     + extended/parallel/MPI
0729       o General code review.
0730       o mpi_interface: OpenMPI as default MPI library instead of LAM/MPI;
0731         improved /mpi/status command (added waste of CPU, time measurement);
0732         introduced /mpi/wait command for waiting until "beamOn" ends;
0733         improved macro file parser (same parser as G4UIbatch; fixed unexpected
0734         behavior at the end of batch mode); changed "beamOn" behavior for better
0735         performance (thread-out for interactive, on-thread for batch).
0736       o exMPI01: use G4UIcsh instead of G4UItcsh since OpenMPI is now default; 
0737         use G4eMultipleScattering instead of obsolete G4MultipleScattering.
0738       o exMPI02: use G4UIcsh instead of G4UItcsh since OpenMPI is now default.
0739     + examples/extended/persistency/gdml/G01
0740       o Added G4GenericTrap to the solids.gdml sample.
0741     + examples/extended/persistency/gdml/G03
0742       o Corrected selection of G4UItcsh in main(), to fix problem on Windows.
0743     + examples/novice/N04
0744       o Replaced QGSP list with QGSP_BERT.
0745 
0746 
0747  ----------------------------------------------------------------------------
0748                              Migration Notes
0749                              --------------- 
0750 
0751   o Obsolete classes G4MultipleScattering, G4UrbanMscModel and G4UrbanMscModel2
0752     are removed in this release; multiple-scattering particle-based processes,
0753     G4eMultipleScattering, G4hMultipleScattering and G4MuMultipleScattering are
0754     now mandatory; G4UrbanMscModel93 is now introduced.
0755   o The visualization trajectory modeling command
0756       "/vis/modeling/trajectories/create/drawByParticleID"
0757     used to default all trajectories to grey, with the user having to
0758     explicitly set any other color code. While the user can still set any
0759     wished color code, the default has been improved to:
0760     [e-/red; e+/blue; proton/cyan; gamma/green; neutron/yellow;
0761      pi+,pi-,pi0/magenta; other/grey].
0762   o In some examples, visualization that used to draw trajectories as simple
0763     lines now also draws step points. Users who wish to disable step point
0764     drawing can do so by commenting out a line in the visualization macro.
0765 
0766  ----------------------------------------------------------------------------
0767 
0768                              Technical Notes
0769                              --------------- 
0770 
0771   o Official platforms:
0772     + Linux, gcc-4.1.2, gcc-4.3.2.
0773       Tested on 32 bits architectures and 64 bits architectures
0774       (Intel or AMD) with the Scientific Linux CERN 5 (SLC5) distribution
0775       (based on RedHat Linux Enterprise 5).
0776       Versions of Geant4 have also been compiled successfully on other
0777       Linux distributions, like Debian, Suse or other RedHat systems.
0778     + MacOSX 10.6, gcc-4.2.1
0779     + Windows/XP and CygWin Tools with: Visual C++ 9.0 (Visual Studio 2008)
0780 
0781   o More verified configurations:
0782     + Linux, gcc-4.5.0
0783     + Linux, Intel-icc 11.1
0784 
0785   o Geant4 9.4-beta-01 requires the installation of CLHEP-2.0.4.6.
0786 
0787  Please refer to the Geant4 User Documentation:
0788    http://cern.ch/geant4/support/userdocuments.shtml
0789  for further information about using Geant4.