Back to home page

EIC code displayed by LXR

 
 

    


Warning, /geant4/CHANGELOG/ReleaseNotes4.5.1.txt is written in an unsupported language. File is not indexed.

0001 
0002                           Geant4 5.1 Release Notes
0003                           ------------------------
0004 
0005                                                       30 April 2003
0006 
0007 The code and some binary libraries are available through our "Source Code"
0008 Web page (http://cern.ch/geant4).
0009 
0010 Please refer to the Geant4 User Documentation
0011 (http://cern.ch/geant4/G4UsersDocuments/Overview/html)
0012 for further information about using Geant4.
0013 
0014 
0015 Contents
0016 --------
0017 
0018   1. Supported and Tested Platforms
0019   2. AIDA and CLHEP
0020   3. The Standard Template Library (STL)
0021   4. Compiler Specific Problems
0022   5. Known Run-Time Problems
0023   6. Compilation Warnings
0024   7. Known Run-Time Warnings
0025   8. Features at Run-Time
0026   9. Items for migration of user code
0027 
0028 
0029 1. Supported and Tested Platforms
0030 ---------------------------------
0031 
0032   o SUN Solaris 5.8, C++ 5.4 Patch 111715-02.
0033   o Linux, gcc 2.95.2, gcc 3.2.
0034       This configuration was tested with the RedHat 7.3 distribution,
0035       versions of Geant4 have also been compiled successfully on other
0036       Linux distributions, like Debian or Suse.
0037       The default RedHat compiler gcc-2.96 ditributed in RedHat 7.X is NOT
0038       supported. It has been verified that it produces incorrect binaries,
0039       therefore is not reliable. See also note below.
0040   o Windows-2000/XP and CygWin Tools with: Visual C++ 6.0 Service Pack 5
0041 
0042 Platforms configured but not tested and not supported:
0043   o DEC V4.0, cxx C++ V6.1-027
0044   o HP 10.20, aCC C++ B3910B A.01.23
0045   o SGI V6.5.5, CC 7.2.1
0046   o AIX 4.3.2, xlC 6.0 
0047   o MacOS 10.2, gcc 2.95.2 / gcc-3.2
0048 
0049 
0050 2. AIDA and CLHEP
0051 -----------------
0052 
0053 Geant4 5.1 requires the installation of CLHEP
0054 (http://cern.ch/clhep/INSTALLATION/clhep.html).
0055 Tests have been performed with CLHEP 1.8.0.0.
0056 
0057 Geant4 5.1 examples with histogramming cowork with AIDA 3.0 implementations.
0058 These include:
0059 - ANAPHE and components included therein
0060   (see: ANAPHE - http://cern.ch/anaphe)
0061 - JAS (Java Analysis Studio)
0062   (see: JAS - http://jas.freehep.org)
0063 - Open Scientist
0064   (see: Open Scientist - http://www.lal.in2p3.fr/OpenScientist)
0065 
0066 AIDA headers can be downloaded from:
0067   http://aida.freehep.org
0068 
0069 
0070 3. The Standard Template Library
0071 --------------------------------
0072 
0073 Native versions of STL have been tested on the following platforms:
0074 
0075    Windows/2000, Linux, and SUN.
0076 
0077 NOTES:
0078 
0079 - Platform specific setup:
0080   o SUN:     Native STL is required for ISO/ANSI setup.
0081   o Linux:   Native STL is required (non ISO/ANSI setup for egcs compiler only).
0082   o Windows: Native STL and ISO/ANSI setup required (VC++ 6.0).
0083 
0084 
0085 4. Compiler Specific Problems
0086 -----------------------------
0087 
0088   o Linux Red Hat 7.X, gcc-2.96.
0089 
0090     - The default compiler distributed by Red Hat since release 7.0 is
0091       NOT supported and not considered reliable for running a Geant4-based
0092       application. In more than one test case, binaries produced by gcc-2.96
0093       have shown incorrect behavior, either due to wrong order of
0094       initialisation of static data in memory or to bugs in the system
0095       iostream classes, problems which apparently have all been solved in
0096       more recent versions of the compiler (3.X series).
0097       For information, gcc-2.96 is a compiler that has never been
0098       officially released, nor supported by the GNU team itself and is not
0099       considered reliable by the authors (for more information, see also
0100       http://gcc.gnu.org/gcc-2.96.html).
0101 
0102 
0103 5. Known Run-Time Problems and Limitations
0104 ------------------------------------------
0105 
0106 For a complete list of outstanding run-time problems and to submit any
0107 problem you may find running this version of Geant4, please refer to the
0108 Geant4 Problem Reporting System, available on the Web at this address:
0109 
0110     http://cern.ch/geant4/problemreport
0111 
0112 
0113 6. Compilation Warnings
0114 -----------------------
0115 
0116 There are compilation warnings on some platforms.  We do not believe
0117 that any will lead to incorrect run-time behaviour, but we are working
0118 on reducing them.
0119 
0120 
0121 7. Known Run-Time Warnings
0122 --------------------------
0123 
0124 The following messages can be written to error output while tracking.
0125 We believe none give rise to incorrect behaviour.
0126 
0127   o G4PropagateInField: Warning: Particle is looping 
0128     -  tracking in field will be stopped. 
0129        It has performed 10000 steps in Field while a maximum of 10000
0130        are allowed. 
0131 
0132 
0133 8. Features at Run-Time
0134 -----------------------
0135 
0136  o In this release, the implementation of the G4RunManager has been
0137    substantially modified. The calculation of the physics cross-section
0138    tables takes place -after- the "BeamOn" command is issued. Thus, the
0139    initialisation of the run-manager (either through the initialize()
0140    method or the UI command "run/initialize") is noticeably faster
0141    compared to the previous version. On the other hand, more time is
0142    required to get the event loop starting, once issued the "BeamOn"
0143    command.
0144  o Production thresholds are now adopted only for gammas, electrons and
0145    positrons. Other particles do not use the concept of production threshold;
0146    setting cut values for particles rather than the cited three will have no
0147    effect in the application, but will result in a warning message.
0148 
0149 
0150 9. Items for migration of user code
0151 -----------------------------------
0152 
0153 o User applications having user-defined production cuts will work with
0154   no required transition to the new interface, as long as regions are
0155   not used. The new interface for setting production cuts will be
0156   required for using the 'cuts-by-region' feature (see the User's
0157   Guide for Application Developers).
0158   The old interface for setting/controlling production cuts (methods
0159   and UI commands) will be made obsolete in the next public release and
0160   later-on removed.
0161   An example showing the utilisation of the 'cut-by-region' technique is
0162   available in examples/novice/N07.
0163 o The file format of storing physics tables has been changed. Thus all
0164   the stored physics tables must be rebuilt.
0165 o Advanced applications making use of a sub-classed run-manager will have
0166   to migrate to the new initialization scheme and interface defined in
0167   G4RunManager. Particularly, users must be aware of the change in the
0168   sequence of building the physics tables. G4RunManager::BuildPhysicsTable()
0169   must be invoked from G4RunManager::RunInitialization().
0170   G4VUserPhysicsList::SetCuts() does not trigger the construction of the
0171   physics tables, it is just aimed to set the production thresholds (cuts).
0172   All other user mandatory initialization classes are kept as before.
0173 o Applications making use of the prototype STD EM processes and messenger
0174   will have to migrate according to the design iteration implemented in
0175   this new release, examples showing the usage of these processes can be
0176   found in examples/extended/electromagnetic: TestEm2, TestEm3.
0177 o The new data sets for low-energy EM processes G4EMLOW2.1 is required
0178   for applications making use of such processes.
0179 
0180 
0181  ----------------------------------------------------------------------------
0182 
0183                         List of changes and fixes
0184                         -------------------------
0185 
0186 These are the main new features/fixes included in this release since the
0187 last public release (for the detailed list of fixes/additions, please refer
0188 to the related History files):
0189 
0190 
0191   o Digitization & Hits:
0192     -------------------
0193     - Fixed G4VSensitiveDetector::GetCollectionID() for more than one
0194       sensitive detector objects instantiated from one detector class.
0195 
0196   o Electromagnetic Processes (Low-energy):
0197     --------------------------------------
0198     - Included development for 'cuts-by-region':
0199       o Made relevant physics processes "region-aware".
0200     - First implementation of Penelope processes for photons.
0201       Minor design iteration on Bremsstrahlung, to accomodate variable
0202       number of parameters compatible with Penelope processes.
0203       Requires new data set G4EMLOW2.1.
0204     - New Ziegler2000 parameterisation for G4hLowEnergyIonisation.
0205       and fix in calculation of step-limit.
0206     - Use particle SubType for ions.
0207     - Bug fix to the Auger effect, in response to user report.
0208     - Bug fix to G4LowEnergyGammaConversion for angular distribution.
0209 
0210   o Electromagnetic Processes (Standard):
0211     ------------------------------------
0212     - Included development for 'cuts-by-region':
0213       o Made relevant physics processes "region-aware".
0214       o Made the set of model per region available.
0215       o Made SubCutoff regime available per region.
0216       o Fixes for store/restore physics tables for ions.
0217       o Made step-limit calculation region aware
0218         and added finalRangeRequested for region handling.
0219     - First implementation of G4AnnihiToMuPair process.
0220     - Important modifications in Multiple Scattering
0221       (both in default classes and STD version):
0222       o new algorithm to reduce the step dependence
0223       o new sampling for the geometrical path-lengths.
0224       o Introduced base class G4VMultipleScattering.
0225     - MuPairProduction::PostStepDoIt(): removed 'tracking cut' of muon.
0226     - Fixed problem in cut control in G4PAIonisation.
0227     - Fixed problem of computation of mean-free-path for PAI process.
0228     - STD processes:
0229       o Fixed problem in fluctuations.
0230       o Fixed problem of negative step limit.
0231       o Fixed problems with lambda and range tables for hadrons/ions.
0232       o Added Initialise() method to calculate PartialSumSigma.
0233       o Added GetDEDXDispersion() method to loss tables.
0234       o Removed UI messenger.
0235     - Fix in setting of 'costeta' in ElecThetaDistribution() for
0236       PhotoElectricEffect.
0237     - Added warning and G4Exception in G4EnergyLossTable in case of using
0238       the old interface when more than one region is defined. 
0239     - Made energy-loss messanger active at PreInit state.
0240     - Use particle SubType for GenericIons.
0241 
0242   o General Processes, Parameterisation, Decay, Optical:
0243     ---------------------------------------------------
0244     - Management:
0245       o Fixed PostStepGetPhysicalInteractionLength() for discrete processes
0246         to avoid unrealistic step of length 0 in rare cases of precision
0247         mismatch. Fixes bug report #465.
0248       o Cleared few trivial strict pedantic warnings.
0249     - Decay:
0250       o Corrected initialisation of TouchableHandle for decay products.
0251     - Optical:
0252       o Modified logic for the assignment of the index of refraction 
0253         of the 2nd material. Most applications should not notice a change.
0254         Fixes bug-report #444. 
0255 
0256   o Geometry:
0257     --------
0258     - Importance biasing
0259       o G4ParallelNavigator: modified shift mechanism in method
0260         ComputeStepLengthShifted().
0261       o Modified implementation of IsInWorld() in G4IStore using
0262         G4LogicalVolume::IsAncestor().
0263       o Cleared strict pedantic warnings.
0264     - Management
0265       o Included development for 'cuts-by-region':
0266         + Introduced new classes G4Region and G4RegionStore.
0267         + Modified G4LogicalVolume to handle recursive propagation
0268           of regions to daughters.
0269         + Updated G4LogicalVolumeStore to handle de-registration of
0270           root regions for volumes which are explicitely deleted.
0271       o G4LogicalVolume:
0272         + Added check for invalid geometry constructions. Issue an
0273           exception if a placement is attempted in a volume already
0274           containing a replicated daughter.
0275         + Added method for scanning recursively the volume tree and
0276           retrieve if the current LV is ancestor of a given PV:
0277           G4bool IsAncestor(const G4VPhysicalVolume*) const
0278     - Solids
0279       o Boolean solids:
0280         + Fixed trivial strict pedantic warnings in G4ReflectedSolid
0281           and G4ReflectionFactory.
0282       o BREPS solids:
0283         + Fixed trivial strict pedantic warnings in compilation.
0284       o Specific solids:
0285         + Fixed initialisation of base class in copy contructor for:
0286           G4PolyPhiFace, G4PolyconeSide, G4PolyhedraSide.
0287         + Fixed trivial pedantic warnings on G4Polycone and G4Polyhedra.
0288       o STEPinterface:
0289         + Fixed trivial strict pedantic warnings in compilation.
0290     - Volumes
0291       o G4NavigationHistory: fix in  methods Clear() and SetFirstEntry().
0292         Correctly initialise navigation levels. Resolves discrepancy in the
0293         copy number assigned to the world volume, if retrieved through the
0294         touchable or explicitely through the physical volume.
0295       o G4GeometryMessenger: added UI command for setting navigator
0296         verbosity at run-time (/geometry/navigator/verbose [n], n in [0..4]).
0297       o G4ReplicaNavigation: fixed debug statement in VoxelLocate().
0298       o G4VoxelNavigation: fixed debug statement in destructor.
0299       o G4Navigator: removed redundant calculation of localPoint in method
0300         LocateGlobalPointWithinVolume()
0301       o Fixed few trivial strict pedantic warnings in compilation.
0302 
0303   o Global:
0304     ------
0305     - Removed copies of SystemOfUnits.h and PhysicalConstants.h, now using
0306       directly headers from CLHEP: changed globals.hh and G4SIunits.hh.
0307     - Fixed trivial strict pedantic warnings in copy constructor for
0308       G4PhysicsTable and G4strstreambuf. Also for unused parameters in
0309       a couple of methods in G4String.
0310     - Removed unnecessary usage of GNU_GCC preprocessor flag in G4Allocator
0311       and G4strstreambuf.
0312 
0313   o Graphical representations:
0314     -------------------------
0315     - Fixed trivial strict pedantic warnings in compilation.
0316 
0317   o Hadronic Processes:
0318     ------------------
0319     - cross_sections
0320       o Introducing an upper limit in the alternative pion cross-section
0321         class G4PiNuclearCrossSection.
0322     - models/generator/scattering
0323       o Fixed critical bug affecting binary-cascade model.
0324     - models/low_energy
0325       o Removed two un-physical exceptions in G4LENeutronInelastic.
0326         No run-time change.
0327     - stopping:
0328       o Fixed bug in stopping muons (G4MuonMinusCaptureAtRest).
0329         Fixes bug-report #457.
0330 
0331   o Magnetic Field:
0332     --------------
0333     - Fixed definition of copy constructors in fields inheritance chain.
0334     - Moved obsolete method StepWithEst() to private in G4RKG3_Stepper,
0335       G4CashKarpRKF45 and G4ClassicalRK4.
0336     - Cleared strict pedantic warnings.
0337 
0338   o Particles:
0339     ---------
0340     - Included development for 'cuts-by-region':
0341       o Dismissed 'cuts-by-material' temporary implementation.
0342       o Removed concrete implementation of method
0343         'CalcEnergyCuts( const G4Material* )' from affected particles.
0344       o Removed ComputeLoss(), BuildRangeVector() from G4Electron and
0345         G4Positron.
0346       o Added classes G4MaterialCutsCouple, G4ProductionCuts,
0347         G4ProductionCutsTable, G4RToEConvForAntiNeutron,
0348         G4RToEConvForAntiProton, G4RToEConvForElectron,
0349         G4RToEConvForGamma, G4RToEConvForNeutron, G4RToEConvForPositron,
0350         G4RToEConvForProton, G4VRangeToEnergyConverter
0351         in processes/management.
0352       o Removed G4ParticleWithCuts class and changed to alias of
0353         G4ParticleDefinition to handle new cuts scheme.
0354       o Implemented Store/Retrieve Cut in G4ProductionCutsTable.
0355         G4ProductionCuts contains cuts only for gamma and e+/-.
0356     - Embed a string of file version to physics table file.
0357     - Added particle SubType for nuclei to distinguish static or
0358       dynamic objects.
0359     - G4DynamicParticle:
0360       o Fixed case of negative sqrt in Set4Momentum(), occasionally
0361         resulting in computation of negative interaction length. 
0362         Fixes problem report #360. 
0363       o Fix to resolve a known problem in pi-0 decay.
0364 
0365   o Run, Intercoms and Interfaces
0366     -----------------------------
0367     - Included development for 'cuts-by-region':
0368       o In G4VUserPhysicsList, removed the following methods:
0369         ReCalcCutValue(), SetCutValueForOthers(), SetCutValueForOtherThan(),
0370         ReCalcCutValueForOthers(), StoreMaterialInfo(), StoreCutValues(),
0371         RetrieveCutValues(), CheckForRetrievePhysicsTable(),
0372         CheckMaterialInfo(). Added method BuildPhysicsTable().
0373       o Modified G4RunManger to properly handle new cuts scheme based
0374         on regions.
0375       o Added commands for setting cuts.
0376       o Implemented store/retrieve physics list methods.
0377     - Removed BuildPhysicsTable() from Initialize() and moved to BeamOn.
0378       and invoke it for dynamically created ions.
0379     - Added GenerateRun() method in G4UserRunAction.
0380     - Cleared inline virtual method in G4Run.
0381 
0382   o Tracking & Track:
0383     ----------------
0384     - Included development for 'cuts-by-region':
0385       o Modified implementation of stepping to cope with new scheme for
0386         cuts and regions.
0387       o Updated G4Track, G4Step, G4StepPoint and G4ParticleChangeForTransport
0388         to properly handle new G4MaterialCutsCouple.
0389     - Fix in G4Step::InitializeStep(): added initialization of fCharge
0390       in StepPoint.
0391     - G4SteppingVerbose: fixed retrieval of phys-volume name, adding
0392       check for NULL pointer for post-step physical volume returned.
0393     - G4SteppingManager:
0394       o recover ApplyCuts() for cuts-by-region.
0395       o fixed initilization of fAtRestDoItProcTriggered.
0396 
0397   o Transportation:
0398     --------------
0399     - Included development for 'cuts-by-region':
0400       o Made G4Transportation and G4UserSpecialCuts "region-aware".
0401     - Cleared pedantic warnings and some cosmetic cleanups.
0402 
0403   o g3tog4 tool:
0404     -----------
0405     - Fixed trivial strict pedantic warnings in compilation.
0406 
0407   o data
0408     ----
0409     - Updated data-set for low-energy EM processes: G4EMLOW2.1
0410 
0411   o Examples:
0412     --------
0413   o Updated reference outputs.
0414   - advanced:
0415     o composite_calorimeter
0416       + Fixed G4cout/G4endl in CCalAnalysis and cleaned some
0417         compilation warnings. 
0418   - extended:
0419     o Updated PhysicsList for cut by region.
0420     o analysis
0421       + A01
0422         - Added 2 more histograms to the example 
0423         - Fixed NullPointerException by letting SDManager delete the
0424           detectors  created in DetectorConstruction. 
0425         - Added comment when quitting Geant4 that JAS window still
0426           needs closing. 
0427     o biasing
0428       + Changed the replica number of the world volume from -1 to 0.
0429       + Initialize() of the G4RunManager is now called after all Materials
0430         and volumes (also in the parallel geometry) are built.
0431     o electromagnetic
0432       + TestEm1
0433         - Fixed verbose problem.
0434         - Removed old interfaces to cuts.
0435         - Added definition of mean excitation energy for water.
0436       + TestEm2
0437         - Use logical mother for G4PVPlacement and G4PVReplica.
0438         - Completed migration to cuts by region.
0439         - Update modular structure of PhysicsList.
0440       + TestEm3
0441         - Change in all macros: /run/particle/setCut -> /testem/phys/setCuts.
0442         - Material CsI and example of SetMeanExcitationEnergy().
0443         - Defined BGO material.
0444         - Added example of static ion: IonC12 class and ionC12.mac.
0445         - Use logical mother for G4PVPlacement.
0446       + TestEm4
0447         - Use logical mother for G4PVPlacement.
0448       + TestEm5
0449         - PhysicsList: removed cutForProton (old interface).
0450         - Fixed problem of 'OutOfWorld' volume.
0451         - Use logical mother for G4PVPlacement.
0452       + TestEm6
0453         - Use logical mother for G4PVPlacement.
0454   - novice:
0455     o Updated PhysicsList for cut by region.
0456     o Use pointer to logical mother for placements.
0457     o Added new novice example N07 demonstrating cuts-by-region,
0458       material parameterisation, run-time modification of part of the
0459       geometry setup, sharing of a sensitive detector definition for
0460       different sub-detectors, customization of the G4Run, store/retrieve
0461       physics table.
0462     o N04
0463       + Added capture and fission in HadronPhysicsList.
0464     o N06
0465       + Corrected OpWaterSurface to be dieletric_dieletric.