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.