source: trunk/ReleaseNotes/ReleaseNotes4.5.2.txt@ 1349

Last change on this file since 1349 was 1337, checked in by garnier, 15 years ago

tag geant4.9.4 beta 1 + modifs locales

File size: 22.9 KB
RevLine 
[1337]1
2 Geant4 5.2 Release Notes
3 ------------------------
4
5 27 June 2003
6
7The code and some binary libraries are available through our "Source Code"
8Web page (http://cern.ch/geant4).
9
10Please refer to the Geant4 User Documentation
11(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
12for further information about using Geant4.
13
14
15Contents
16--------
17
18 1. Supported and Tested Platforms
19 2. AIDA and CLHEP
20 3. The Standard Template Library (STL)
21 4. Compiler Specific Problems
22 5. Known Run-Time Problems
23 6. Compilation Warnings
24 7. Known Run-Time Warnings
25 8. Features at Run-Time
26 9. Items for migration of user code
27
28
291. Supported and Tested Platforms
30---------------------------------
31
32 o SUN Solaris 5.8, C++ 5.4 Patch 111715-02.
33 o Linux, gcc 2.95.2, gcc 3.2.
34 This configuration was tested with the RedHat 7.3 distribution,
35 versions of Geant4 have also been compiled successfully on other
36 Linux distributions, like Debian or Suse.
37 The default RedHat compiler gcc-2.96 distributed in RedHat 7.X is NOT
38 supported. It has been verified that it produces incorrect binaries,
39 therefore is not reliable. See also note below.
40 o Windows-2000/XP and CygWin Tools with: Visual C++ 6.0 Service Pack 5
41
42Platforms configured but not tested and not supported:
43 o DEC V4.0, cxx C++ V6.1-027
44 o HP 10.20, aCC C++ B3910B A.01.23
45 o SGI V6.5.5, CC 7.2.1
46 o AIX 4.3.2, xlC 6.0
47 o MacOS 10.2, gcc 2.95.2 / gcc-3.2
48 o Windows/XP with CygWin Tools, .NET Visual Studio C++ 7
49
50
512. AIDA and CLHEP
52-----------------
53
54Geant4 5.2 requires the installation of CLHEP
55(http://cern.ch/clhep/INSTALLATION/clhep.html).
56Tests have been performed with CLHEP 1.8.0.0.
57
58Geant4 5.2 examples with histogramming cowork with AIDA 3.0 implementations.
59These include:
60- ANAPHE and components included therein
61 (see: ANAPHE - http://cern.ch/anaphe)
62- JAS (Java Analysis Studio)
63 (see: JAS - http://jas.freehep.org)
64- Open Scientist
65 (see: Open Scientist - http://www.lal.in2p3.fr/OpenScientist)
66
67AIDA headers can be downloaded from:
68 http://aida.freehep.org
69
70
713. The Standard Template Library
72--------------------------------
73
74Native versions of STL have been tested on the following platforms:
75
76 Windows/2000, Linux, and SUN.
77
78NOTES:
79
80- Platform specific setup:
81 o SUN: Native STL is required for ISO/ANSI setup.
82 o Linux: Native STL is required (non ISO/ANSI setup for egcs compiler only).
83 o Windows: Native STL and ISO/ANSI setup required.
84
85
864. Compiler Specific Problems
87-----------------------------
88
89 o Linux Red Hat 7.X, gcc-2.96.
90
91 - The default compiler distributed by Red Hat since release 7.0 is
92 NOT supported and not considered reliable for running a Geant4-based
93 application. In more than one test case, binaries produced by gcc-2.96
94 have shown incorrect behavior, either due to wrong order of
95 initialisation of static data in memory or to bugs in the system
96 iostream classes, problems which apparently have all been solved in
97 more recent versions of the compiler (3.X series).
98 For information, gcc-2.96 is a compiler that has never been
99 officially released, nor supported by the GNU team itself and is not
100 considered reliable by the authors (for more information, see also
101 http://gcc.gnu.org/gcc-2.96.html).
102
103
1045. Known Run-Time Problems and Limitations
105------------------------------------------
106
107For a complete list of outstanding run-time problems and to submit any
108problem you may find running this version of Geant4, please refer to the
109Geant4 Problem Reporting System, available on the Web at this address:
110
111 http://cern.ch/geant4/problemreport
112
113
1146. Compilation Warnings
115-----------------------
116
117There are compilation warnings on some platforms. We do not believe
118that any will lead to incorrect run-time behaviour, but we are working
119on reducing them.
120
121
1227. Known Run-Time Warnings
123--------------------------
124
125The following messages can be written to error output while tracking.
126We believe none give rise to incorrect behaviour.
127
128 o G4PropagateInField: Warning: Particle is looping
129 - tracking in field will be stopped.
130 It has performed 1000 steps in Field while a maximum of 1000
131 are allowed.
132
133
1348. Features at Run-Time
135-----------------------
136
137 o In the propagation in field, the default value of "maximum step count"
138 has been changed from 10000 to 1000.
139 This will cause more particles to be recognised to loop earlier (see
140 section 7 of these notes) as this parameter controls this behavior too.
141
142
1439. Items for migration of user code
144-----------------------------------
145
146 o With this release, usage of the obsolete 'g4std' wrappers has been removed
147 from the code and wrappers themselves are now hard-coded to STL headers.
148 User code making use of these wrappers will still compile and run as
149 normal, however, we encourage to migrate the user code at the earliest
150 convenience.
151 From the -next- public release (and development/beta releases), wrappers
152 and definition of 'G4std' will be removed, therefore making the migration
153 of the user code mandatory:
154 - Any reference to G4std:: will have to be changed to std::
155 - Any #include statement of the kind
156 #include "g4std/XXX"
157 will have to migrate to standard C++ calls of the kind
158 #include <XXX>
159 o The new data sets for low-energy EM processes G4EMLOW2.2 is required
160 for applications making use of such processes.
161
162
163 ----------------------------------------------------------------------------
164
165 List of changes and fixes
166 -------------------------
167
168These are the main new features/fixes included in this release since the
169last patched public release (for the detailed list of fixes/additions,
170please refer to the related History files):
171
172
173 o Configuration
174 -------------
175 - Made build of STEP and STEPinterface modules optional. Added flags
176 G4LIB_BUILD_STEP/G4USE_STEP. By default the libraries will not be built.
177 - Removed G4_HAVE_BOOL macro. Now using default 'bool' type,
178 defined in all supported compilers.
179 - Removed flag G4USE_STD_NAMESPACE from specific setups in sys.
180 Follows migration from G4std and STL header wrappers apported in
181 the whole code.
182 - Removed obsolete usage of GNU_GCC specific option for g++ compilers.
183 - Modified mechanism for building shared libraries to include symbols
184 from external libs like OpenGL, ... so libraries will be self-contained
185 concerning their dependencies.
186 - Added UI32LIBS to interactivity.gmk to handle UI libraries on WIN32
187 platforms and added libraries for OpenGL and UI to default setup of
188 WIN32-VC and WIN32-VC7. Removed some obsolete compilation options.
189 - Added more strict compiler options for warnings on Linux-g++ platform.
190 - Added missing module Bertini-Cascade to list of libraries for
191 compound build.
192
193 o Digitization & Hits:
194 -------------------
195 - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
196
197 o Electromagnetic Processes (Low-energy):
198 --------------------------------------
199 - Requires a new version of the data-set: G4EMLOW2.2.
200 - Improved design to allow for multiple models of Bremsstrahlung angular
201 distribution; currently the model for modified Tsai is provided.
202 - G4PenelopeCompton triggers atomic relaxation.
203 - Removed two memory leaks in Penelope processes and design flaw in
204 private interface of G4eBremsstrahlungSpectrum.
205 - Fixed argument to pow() in G4LinLogLogInterpolation.cc and
206 G4LogLogInterpolation.cc to allow for porting on .NET 7.1 compiler.
207 - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
208
209 o Electromagnetic Processes (Standard):
210 ------------------------------------
211 - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
212 - Short-lived particles no longer applicable for G4hIonisation and
213 G4MultipleScattering.
214 - STD prototype processes:
215 + Updated initialisation for STD processes: integral Bohr fluctuations.
216 + Bug fix in cross section at high energies in G4MuPairProductionSTD.
217 + Removed and replaced obsolete multiple-scattering classes with "model"
218 variant.
219 + Fix in SupressionFunction of bremsstrahlung.
220 + Fix in dedx for e- ionisation for E<1keV.
221 + Removed tracking cut.
222 + Establish limits on eloss for Bohr and Ion fluctuations.
223 + Added precise range calculation.
224 + Default step parameters are now set to be as for standard processes.
225 - Multiple Scattering:
226 + IMPORTANT change in the angle distribution for muons/hadrons
227 the width of the central part now is corresponds to the value
228 can be computed from the HighLand formula (no change of this
229 kind for e+/e-) --> small change in the width for low to
230 medium energy (protons - 1 MeV - few hundred MeV) but change
231 up to 20 -25 % for high energy.
232 + minor correction in the angle sampling algorithm, affects
233 e+/e- too --> small change for very small and very big
234 stepsize/range values.
235 + Fixed misprint at Tev energies.
236 + Fix minor problem in nuclear form-factor calculations.
237 - G4VXTRenergyLoss: modifications in BuildPhysicsTable.
238 Angle range 0-0.3, Legendre96 integration in 0-0.3-0.6-1.0*fMaxThetaTR.
239 - Set default number 120 bins for dedx table in G4eIonisation.
240 - Updated PAI model: included high energy transfers.
241 - Trivial fixes in G4PAIxSection on arguments to pow() for porting on
242 .NET 7.1 compiler.
243
244 o General Processes, Parameterisation, Decay, Optical:
245 ---------------------------------------------------
246 - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
247
248 o Geometry:
249 --------
250 - management:
251 o G4LogicalVolume:
252 + added method ClearDaughters() to be used for resetting the list of
253 daughters to a logical volume in the use-case when only the physical
254 volume store is cleared at run-time.
255 + notify removal of root-logical-volume from G4Region in case of
256 deletion of a logical-volume from the destructor, instead that from
257 DeRegister() method.
258 o GVPhysicalVolume:
259 + Added pointer to mother logical volume (will replace in future
260 releases the pointer to mother physical volume) and related accessors.
261 + Standardised registration mechanism as daughter for constructor using
262 the pointer to the mother's PV.
263 o G4PVPlacement/Replica/Parameterised:
264 + Standardised registration mechanism as daughter for constructor using
265 the pointer to the mother's PV.
266 o G4Region:
267 + Removed redundant calls to ScanVolumeTree() and UpdateMaterials()
268 from RemoveRootLogicalVolume() method.
269 o G4LogicalVolumeStore:
270 + removed redundant check and call to RemoveRootLogicalVolume() from
271 Clean() method.
272 o G4PhysicalVolumeStore:
273 + Added notification mechanism to logical volumes in the Clean() method
274 to update the list of daughters.
275 + Update mother's LV list of daughters when deregistering a volume.
276 - solids
277 o Made compilation of STEP and STEPinterface modules optional
278 controlled by variable G4LIB_BUILD_STEP/G4USE_STEP.
279 By default modules are not built.
280 o G4ReflectionFactory:
281 + Made public accessors: GetConstituentLV(), GetReflectedLV(),
282 IsConstituent() and IsReflected().
283 + Added accessor GetReflectedVolumesMap() to access list of
284 reflected volumes.
285 + Added methods Set/GetScalePrecision().
286 o G4BREPSolidPCone:
287 + Commented out verbose-mode in SurfaceNormal(). Temporary solution
288 to problem reports #425, #431 and #474.
289 - verification
290 o G4GeomTestVolume:
291 + Added methods TestRecursiveLine() and TestRecursiveCylinder() for
292 allowing recursion on line_test and cylinder_test respectively.
293 + Introduced ability to control depth and starting level of recursion.
294 - volumes
295 o G4GeometryMessenger:
296 + Added new commands for controlling geometry overlaps: added recursion
297 to line_test and cylinder_test; added possibility to customise the
298 resolution and shape of grid/cylinder for the test; added ability to
299 select depth of recursion in the geometry tree.
300 + Added explicit call to OpenGeometry() in method CheckGeometry() to
301 force cleanup of voxelisation when command navigator/reset is called.
302 o G4PropagatorInField:
303 + Implemented use of safety to reduce calls to navigator.
304 + Changed the default value of "maximum step count" from 10000 to 1000.
305 This will cause more particles to be recognised to loop earlier as
306 this parameter controls this behavior too.
307 + Added new method FindAndSetFieldManager() to find the current field
308 manager and set it for the Propagator. The class currently ensures
309 that this method is always called once for each call to ComputeStep().
310 + Added new method SetDetectorFieldManager(), so as to have it updated
311 when the global field manager is changed.
312 o G4TransportationManager:
313 + corrected the method SetFieldManager(). It now messages the current
314 global PropagatorInField to notify it.
315 - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
316
317 o Global:
318 ------
319 - Define g4std wrappers and G4std to original STL headers and std
320 namespace. Removed usage of G4USE_STD_NAMESPACE macro.
321 - G4PhysicsVector: moved copy costructor and assignment operator to
322 public. Fixes problem report #486.
323
324 o Hadronic Processes:
325 ------------------
326 - Cleared most compilation warnings.
327 - cross_sections
328 + Design iteration.
329 + Fixed problem with electro-nuclear cross-sections.
330 + Fixed usage of arguments to pow() for porting on .NET 7.1 compiler.
331 - management
332 + Added AddDataSet directly to the process interface
333 + Reimplementation of the registry to make it suitable for dynamic
334 loading of libraries.
335 + Fixed warning generated after migration from g4std.
336 - models/cascade/evaporation
337 + Fixed usage of arguments to pow() for porting on .NET 7.1 compiler.
338 - models/chiral_inv_phase_space
339 + Fixed usage of arguments to pow() for porting on .NET 7.1 compiler.
340 - models/generator/de_excitation
341 + Reimplemented Coulomb barrier in the GEM emission probabilities.
342 + Fixed floating-point exception observed in G4NuclearLevelManager.
343 + Improved mass calculation in G4VGammaDeexcitation.
344 + Introduced C++ casts.
345 + Reconfigured Fermi-break-up.
346 + Fixed case of floating-point exception in internal conversion.
347 + Fixed usage of arguments to pow() for porting on .NET 7.1 compiler.
348 - models/generator/kinetic_model
349 + Improved transition between pre-equilibrium decay and binary cascade.
350 + Corrected dummy declaration of virtual function to allow porting
351 on WIN32 platforms.
352 - models/generator/pre_equilibrium
353 + Overall design iteration and re-implementation.
354 + Added GNASH transition probabilities as option.
355 + Added HETC emission probabilities as option.
356 + Re-work of alpha emission probabilities.
357 + Fixed compilation problem on WIN32 platforms.
358 - models/generator/scattering
359 + Fixed long-standing error on SUN dealing with ordering of static
360 construction.
361 + Fixed calculation of lower bound in sampling resonance masses
362 for multiple resonance final states.
363 - models/generator/util
364 + Extended nucleon interface to allow tracing during the cascading.
365 + Added fermi-momentum to G4Nucleon.
366 + Enabled hit-counting in G4Nucleon.
367 + Cleared printout on value of excitation energy.
368 + Fixed usage of arguments to pow() for porting on .NET 7.1 compiler.
369 - models/low_energy
370 + Added re-coil creation and energy transfer calculation to elastic
371 scattering
372 + Bug fix for random coincidence exception in elastic scattering.
373 - models/neutron_hp
374 + Fixed usage of arguments to pow() for porting on .NET 7.1 compiler.
375 - models/radiative_decay
376 + Fix in G4ITDecayChannel and G4RadioactiveDecay for porting on
377 Windows .NET (WIN23-VC7) compiler: changed signature in
378 constructor for G4ITDecayChannel to use G4Ions instead of generic
379 G4ParticleDefinition.
380 - processes
381 + Implemented the AddDataSet interface in all process classes.
382 - stopping
383 + Fixed bug in alpha evaporation from nucleus observed when mu- stops
384 in air.
385 + Adopt trivial workaround to avoid "internal compiler error" on WIN32
386 platforms.
387
388 o Magnetic Field:
389 --------------
390 - Revised G4FieldManager adding a (new) virtual method:
391 ConfigureForTrack( const G4Track *)
392 to enable the user to configure it with different accuracy parameters
393 depending on energy, particle id, volume, or other track state.
394 - Revised G4ChordFinder:
395 + FindNextChord() now provides next Step estimate (for accuracy
396 in Integration)
397 + Modified AdvanceChordLimited() to use FindNextChord() and
398 initial-step.
399 + Fixed missing initialisation of several member data in the simple
400 constructor and fixed unitialised variable for next step.
401 + Protected assignment of fLastStepEstimate_Unconstrained in case of
402 unitialised value.
403 - G4MagIntegratorDriver:
404 + Took out unneccessary square roots and divisions.
405 Giving 15% performance boost.
406 + Added extra argument for suggested initial step size 'hinitial'
407 to Accurate Advance.
408 + Keep simple statistics on number of steps, total error and step size.
409 - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
410
411 o Materials:
412 ---------
413 - G4Isotope: fixed bug in operator=. Fixes problem report #429
414 - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
415
416 o Parameterisations:
417 -----------------
418 - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
419
420 o Particles:
421 ---------
422 - G4DynamicParticle.cc:
423 + Fix in constructors for the calculation of masses to avoid negative
424 values result of precision loss when massless particles
425 (like photons) are treated. Fixes problem report #489.
426 + Use condition m^2<0.001MeV^2 to identify massless particles.
427
428 o Persistency:
429 -----------
430 - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
431
432 o Run, Events, Intercoms and Interfaces
433 -------------------------------------
434 - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
435 - G4UItokenNum.hh: fixed longstanding bug in the definition of the
436 struct "yystype": defined operator= and copy-constructor, defined
437 default constructor with default initialisation of members.
438 Fixes potential usage of uninitialised values.
439 - G4UIGainServer: fixed compilation problem on Darwin-g++ with gcc-3.X.
440 - G4VUserPhysicsList: added check for IsShortLived() before building the
441 physics table in BuildPhysicsTable().
442 - G4RunManager: fixed case of removal of logical volume from default
443 region, when the whole geometry setup is cleared between runs.
444
445 o Tracking & Track:
446 ----------------
447 - Fixed copy operator of G4Track not to copy the pointer to user
448 information.
449 - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
450
451 o Transportation:
452 --------------
453 - G4Transportation:
454 o Use new method of PropagatorInField to simplify choice of
455 global/local field.
456 o Activated new capability of a (user derived) field manager to configure
457 itself with different accuracy parameters depending on track's energy,
458 particle identity, or other property.
459 o Fixes to accomodate incorrect and missing functionality for the
460 following use cases:
461 + setting of a local field when no global field exists.
462 + overriding of an existing global field with a 'zero' field
463 by creating a local field manager that has a NULL G4Field pointer.
464 - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
465
466 o Visualization:
467 -------------
468 - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
469 - OpenGL
470 + Added first implementation of G4OpenGLWin32Viewer for Windows GL.
471 + Fixes for porting compilation on WIN32.
472
473 o g3tog4 tool:
474 -----------
475 - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
476
477 o data
478 ----
479 - New data set for low-energy EM processes: G4EMLOWEN2.2.
480
481 o Examples:
482 --------
483 - Updated reference outputs.
484 - Cleared most compilation warnings.
485 - advanced:
486 o brachytherapy
487 + Implementation revision.
488 o composite_calorimeter
489 + Updated physics lists.
490 o gammaray_telescope
491 + Updated to ANAPHE 5.0.5 and cuts-by-region.
492 o lAr_calorimeter
493 + Updated physics lists.
494 o Rich
495 + New application simulating the TestBeam setup of the Rich
496 detector in LHCb.
497 o Tiara
498 + New application implementing a simulation of the neutron
499 shielding experiment TIARA using importance biasing.
500 o underground_physics
501 + Fixes to physics list.
502 + Added HepRep visualization.
503 + Fixes to hits collection: fixed hits deposition on photocathode
504 material.
505 o xray_fluorescence
506 + Bug fixes for energy deposition in the detector.
507 - extended:
508 o analysis
509 + A01
510 o Updated AIDA scripts.
511 + AnaEx01
512 o Updated to AIDA 3.0.
513 o biasing
514 + Implementation revision.
515 o electromagnetic
516 + TestEm1, TestEm2, TestEm3
517 o Corrected deletion of volumes/solids when geometry is updated.
518 + TestEm4
519 o
520 + TestEm5
521 o New histogram (ID=11) for the projeted angle at exit.
522 Bug corrected in gustep.
523 o New macros for multiple-scattering tests: run61,71,81,91
524 o Proper deletion of old geometry when it is updated.
525 + TestEm6
526 o
527 + TestEm7
528 o New example simulating energy deposited by particles absorbed
529 in a given material (Bragg peak).
530 + TestEm8
531 o Fixed warnings and changed input parameters for updated PAI.
532 o field
533 + Fixed geometry construction in case of switching of detector.
534 o geometry
535 + cad
536 o GNUmakefile: added control through G4USE_STEP variable.
537 o medical
538 + DICOM
539 o New application implementing a Geant4 interface to the DICOM
540 image format for the simulation of a phantom geometry.
541 o persistency
542 + Updates to README and scripts.
543 - novice
544 o N03
545 + Properly delete volumes/solids when geometry is updated.
546 + Moved heprep.mac to visTutor.
Note: See TracBrowser for help on using the repository browser.