source: trunk/ReleaseNotes/ReleaseNotes4.5.1.txt @ 1350

Last change on this file since 1350 was 1337, checked in by garnier, 14 years ago

tag geant4.9.4 beta 1 + modifs locales

File size: 19.2 KB
Line 
1
2                          Geant4 5.1 Release Notes
3                          ------------------------
4
5                                                      30 April 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 ditributed 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
49
502. AIDA and CLHEP
51-----------------
52
53Geant4 5.1 requires the installation of CLHEP
54(http://cern.ch/clhep/INSTALLATION/clhep.html).
55Tests have been performed with CLHEP 1.8.0.0.
56
57Geant4 5.1 examples with histogramming cowork with AIDA 3.0 implementations.
58These include:
59- ANAPHE and components included therein
60  (see: ANAPHE - http://cern.ch/anaphe)
61- JAS (Java Analysis Studio)
62  (see: JAS - http://jas.freehep.org)
63- Open Scientist
64  (see: Open Scientist - http://www.lal.in2p3.fr/OpenScientist)
65
66AIDA headers can be downloaded from:
67  http://aida.freehep.org
68
69
703. The Standard Template Library
71--------------------------------
72
73Native versions of STL have been tested on the following platforms:
74
75   Windows/2000, Linux, and SUN.
76
77NOTES:
78
79- Platform specific setup:
80  o SUN:     Native STL is required for ISO/ANSI setup.
81  o Linux:   Native STL is required (non ISO/ANSI setup for egcs compiler only).
82  o Windows: Native STL and ISO/ANSI setup required (VC++ 6.0).
83
84
854. Compiler Specific Problems
86-----------------------------
87
88  o Linux Red Hat 7.X, gcc-2.96.
89
90    - The default compiler distributed by Red Hat since release 7.0 is
91      NOT supported and not considered reliable for running a Geant4-based
92      application. In more than one test case, binaries produced by gcc-2.96
93      have shown incorrect behavior, either due to wrong order of
94      initialisation of static data in memory or to bugs in the system
95      iostream classes, problems which apparently have all been solved in
96      more recent versions of the compiler (3.X series).
97      For information, gcc-2.96 is a compiler that has never been
98      officially released, nor supported by the GNU team itself and is not
99      considered reliable by the authors (for more information, see also
100      http://gcc.gnu.org/gcc-2.96.html).
101
102
1035. Known Run-Time Problems and Limitations
104------------------------------------------
105
106For a complete list of outstanding run-time problems and to submit any
107problem you may find running this version of Geant4, please refer to the
108Geant4 Problem Reporting System, available on the Web at this address:
109
110    http://cern.ch/geant4/problemreport
111
112
1136. Compilation Warnings
114-----------------------
115
116There are compilation warnings on some platforms.  We do not believe
117that any will lead to incorrect run-time behaviour, but we are working
118on reducing them.
119
120
1217. Known Run-Time Warnings
122--------------------------
123
124The following messages can be written to error output while tracking.
125We believe none give rise to incorrect behaviour.
126
127  o G4PropagateInField: Warning: Particle is looping
128    -  tracking in field will be stopped.
129       It has performed 10000 steps in Field while a maximum of 10000
130       are allowed.
131
132
1338. Features at Run-Time
134-----------------------
135
136 o In this release, the implementation of the G4RunManager has been
137   substantially modified. The calculation of the physics cross-section
138   tables takes place -after- the "BeamOn" command is issued. Thus, the
139   initialisation of the run-manager (either through the initialize()
140   method or the UI command "run/initialize") is noticeably faster
141   compared to the previous version. On the other hand, more time is
142   required to get the event loop starting, once issued the "BeamOn"
143   command.
144 o Production thresholds are now adopted only for gammas, electrons and
145   positrons. Other particles do not use the concept of production threshold;
146   setting cut values for particles rather than the cited three will have no
147   effect in the application, but will result in a warning message.
148
149
1509. Items for migration of user code
151-----------------------------------
152
153o User applications having user-defined production cuts will work with
154  no required transition to the new interface, as long as regions are
155  not used. The new interface for setting production cuts will be
156  required for using the 'cuts-by-region' feature (see the User's
157  Guide for Application Developers).
158  The old interface for setting/controlling production cuts (methods
159  and UI commands) will be made obsolete in the next public release and
160  later-on removed.
161  An example showing the utilisation of the 'cut-by-region' technique is
162  available in examples/novice/N07.
163o The file format of storing physics tables has been changed. Thus all
164  the stored physics tables must be rebuilt.
165o Advanced applications making use of a sub-classed run-manager will have
166  to migrate to the new initialization scheme and interface defined in
167  G4RunManager. Particularly, users must be aware of the change in the
168  sequence of building the physics tables. G4RunManager::BuildPhysicsTable()
169  must be invoked from G4RunManager::RunInitialization().
170  G4VUserPhysicsList::SetCuts() does not trigger the construction of the
171  physics tables, it is just aimed to set the production thresholds (cuts).
172  All other user mandatory initialization classes are kept as before.
173o Applications making use of the prototype STD EM processes and messenger
174  will have to migrate according to the design iteration implemented in
175  this new release, examples showing the usage of these processes can be
176  found in examples/extended/electromagnetic: TestEm2, TestEm3.
177o The new data sets for low-energy EM processes G4EMLOW2.1 is required
178  for applications making use of such processes.
179
180
181 ----------------------------------------------------------------------------
182
183                        List of changes and fixes
184                        -------------------------
185
186These are the main new features/fixes included in this release since the
187last public release (for the detailed list of fixes/additions, please refer
188to the related History files):
189
190
191  o Digitization & Hits:
192    -------------------
193    - Fixed G4VSensitiveDetector::GetCollectionID() for more than one
194      sensitive detector objects instantiated from one detector class.
195
196  o Electromagnetic Processes (Low-energy):
197    --------------------------------------
198    - Included development for 'cuts-by-region':
199      o Made relevant physics processes "region-aware".
200    - First implementation of Penelope processes for photons.
201      Minor design iteration on Bremsstrahlung, to accomodate variable
202      number of parameters compatible with Penelope processes.
203      Requires new data set G4EMLOW2.1.
204    - New Ziegler2000 parameterisation for G4hLowEnergyIonisation.
205      and fix in calculation of step-limit.
206    - Use particle SubType for ions.
207    - Bug fix to the Auger effect, in response to user report.
208    - Bug fix to G4LowEnergyGammaConversion for angular distribution.
209
210  o Electromagnetic Processes (Standard):
211    ------------------------------------
212    - Included development for 'cuts-by-region':
213      o Made relevant physics processes "region-aware".
214      o Made the set of model per region available.
215      o Made SubCutoff regime available per region.
216      o Fixes for store/restore physics tables for ions.
217      o Made step-limit calculation region aware
218        and added finalRangeRequested for region handling.
219    - First implementation of G4AnnihiToMuPair process.
220    - Important modifications in Multiple Scattering
221      (both in default classes and STD version):
222      o new algorithm to reduce the step dependence
223      o new sampling for the geometrical path-lengths.
224      o Introduced base class G4VMultipleScattering.
225    - MuPairProduction::PostStepDoIt(): removed 'tracking cut' of muon.
226    - Fixed problem in cut control in G4PAIonisation.
227    - Fixed problem of computation of mean-free-path for PAI process.
228    - STD processes:
229      o Fixed problem in fluctuations.
230      o Fixed problem of negative step limit.
231      o Fixed problems with lambda and range tables for hadrons/ions.
232      o Added Initialise() method to calculate PartialSumSigma.
233      o Added GetDEDXDispersion() method to loss tables.
234      o Removed UI messenger.
235    - Fix in setting of 'costeta' in ElecThetaDistribution() for
236      PhotoElectricEffect.
237    - Added warning and G4Exception in G4EnergyLossTable in case of using
238      the old interface when more than one region is defined.
239    - Made energy-loss messanger active at PreInit state.
240    - Use particle SubType for GenericIons.
241
242  o General Processes, Parameterisation, Decay, Optical:
243    ---------------------------------------------------
244    - Management:
245      o Fixed PostStepGetPhysicalInteractionLength() for discrete processes
246        to avoid unrealistic step of length 0 in rare cases of precision
247        mismatch. Fixes bug report #465.
248      o Cleared few trivial strict pedantic warnings.
249    - Decay:
250      o Corrected initialisation of TouchableHandle for decay products.
251    - Optical:
252      o Modified logic for the assignment of the index of refraction
253        of the 2nd material. Most applications should not notice a change.
254        Fixes bug-report #444.
255
256  o Geometry:
257    --------
258    - Importance biasing
259      o G4ParallelNavigator: modified shift mechanism in method
260        ComputeStepLengthShifted().
261      o Modified implementation of IsInWorld() in G4IStore using
262        G4LogicalVolume::IsAncestor().
263      o Cleared strict pedantic warnings.
264    - Management
265      o Included development for 'cuts-by-region':
266        + Introduced new classes G4Region and G4RegionStore.
267        + Modified G4LogicalVolume to handle recursive propagation
268          of regions to daughters.
269        + Updated G4LogicalVolumeStore to handle de-registration of
270          root regions for volumes which are explicitely deleted.
271      o G4LogicalVolume:
272        + Added check for invalid geometry constructions. Issue an
273          exception if a placement is attempted in a volume already
274          containing a replicated daughter.
275        + Added method for scanning recursively the volume tree and
276          retrieve if the current LV is ancestor of a given PV:
277          G4bool IsAncestor(const G4VPhysicalVolume*) const
278    - Solids
279      o Boolean solids:
280        + Fixed trivial strict pedantic warnings in G4ReflectedSolid
281          and G4ReflectionFactory.
282      o BREPS solids:
283        + Fixed trivial strict pedantic warnings in compilation.
284      o Specific solids:
285        + Fixed initialisation of base class in copy contructor for:
286          G4PolyPhiFace, G4PolyconeSide, G4PolyhedraSide.
287        + Fixed trivial pedantic warnings on G4Polycone and G4Polyhedra.
288      o STEPinterface:
289        + Fixed trivial strict pedantic warnings in compilation.
290    - Volumes
291      o G4NavigationHistory: fix in  methods Clear() and SetFirstEntry().
292        Correctly initialise navigation levels. Resolves discrepancy in the
293        copy number assigned to the world volume, if retrieved through the
294        touchable or explicitely through the physical volume.
295      o G4GeometryMessenger: added UI command for setting navigator
296        verbosity at run-time (/geometry/navigator/verbose [n], n in [0..4]).
297      o G4ReplicaNavigation: fixed debug statement in VoxelLocate().
298      o G4VoxelNavigation: fixed debug statement in destructor.
299      o G4Navigator: removed redundant calculation of localPoint in method
300        LocateGlobalPointWithinVolume()
301      o Fixed few trivial strict pedantic warnings in compilation.
302
303  o Global:
304    ------
305    - Removed copies of SystemOfUnits.h and PhysicalConstants.h, now using
306      directly headers from CLHEP: changed globals.hh and G4SIunits.hh.
307    - Fixed trivial strict pedantic warnings in copy constructor for
308      G4PhysicsTable and G4strstreambuf. Also for unused parameters in
309      a couple of methods in G4String.
310    - Removed unnecessary usage of GNU_GCC preprocessor flag in G4Allocator
311      and G4strstreambuf.
312
313  o Graphical representations:
314    -------------------------
315    - Fixed trivial strict pedantic warnings in compilation.
316
317  o Hadronic Processes:
318    ------------------
319    - cross_sections
320      o Introducing an upper limit in the alternative pion cross-section
321        class G4PiNuclearCrossSection.
322    - models/generator/scattering
323      o Fixed critical bug affecting binary-cascade model.
324    - models/low_energy
325      o Removed two un-physical exceptions in G4LENeutronInelastic.
326        No run-time change.
327    - stopping:
328      o Fixed bug in stopping muons (G4MuonMinusCaptureAtRest).
329        Fixes bug-report #457.
330
331  o Magnetic Field:
332    --------------
333    - Fixed definition of copy constructors in fields inheritance chain.
334    - Moved obsolete method StepWithEst() to private in G4RKG3_Stepper,
335      G4CashKarpRKF45 and G4ClassicalRK4.
336    - Cleared strict pedantic warnings.
337
338  o Particles:
339    ---------
340    - Included development for 'cuts-by-region':
341      o Dismissed 'cuts-by-material' temporary implementation.
342      o Removed concrete implementation of method
343        'CalcEnergyCuts( const G4Material* )' from affected particles.
344      o Removed ComputeLoss(), BuildRangeVector() from G4Electron and
345        G4Positron.
346      o Added classes G4MaterialCutsCouple, G4ProductionCuts,
347        G4ProductionCutsTable, G4RToEConvForAntiNeutron,
348        G4RToEConvForAntiProton, G4RToEConvForElectron,
349        G4RToEConvForGamma, G4RToEConvForNeutron, G4RToEConvForPositron,
350        G4RToEConvForProton, G4VRangeToEnergyConverter
351        in processes/management.
352      o Removed G4ParticleWithCuts class and changed to alias of
353        G4ParticleDefinition to handle new cuts scheme.
354      o Implemented Store/Retrieve Cut in G4ProductionCutsTable.
355        G4ProductionCuts contains cuts only for gamma and e+/-.
356    - Embed a string of file version to physics table file.
357    - Added particle SubType for nuclei to distinguish static or
358      dynamic objects.
359    - G4DynamicParticle:
360      o Fixed case of negative sqrt in Set4Momentum(), occasionally
361        resulting in computation of negative interaction length.
362        Fixes problem report #360.
363      o Fix to resolve a known problem in pi-0 decay.
364
365  o Run, Intercoms and Interfaces
366    -----------------------------
367    - Included development for 'cuts-by-region':
368      o In G4VUserPhysicsList, removed the following methods:
369        ReCalcCutValue(), SetCutValueForOthers(), SetCutValueForOtherThan(),
370        ReCalcCutValueForOthers(), StoreMaterialInfo(), StoreCutValues(),
371        RetrieveCutValues(), CheckForRetrievePhysicsTable(),
372        CheckMaterialInfo(). Added method BuildPhysicsTable().
373      o Modified G4RunManger to properly handle new cuts scheme based
374        on regions.
375      o Added commands for setting cuts.
376      o Implemented store/retrieve physics list methods.
377    - Removed BuildPhysicsTable() from Initialize() and moved to BeamOn.
378      and invoke it for dynamically created ions.
379    - Added GenerateRun() method in G4UserRunAction.
380    - Cleared inline virtual method in G4Run.
381
382  o Tracking & Track:
383    ----------------
384    - Included development for 'cuts-by-region':
385      o Modified implementation of stepping to cope with new scheme for
386        cuts and regions.
387      o Updated G4Track, G4Step, G4StepPoint and G4ParticleChangeForTransport
388        to properly handle new G4MaterialCutsCouple.
389    - Fix in G4Step::InitializeStep(): added initialization of fCharge
390      in StepPoint.
391    - G4SteppingVerbose: fixed retrieval of phys-volume name, adding
392      check for NULL pointer for post-step physical volume returned.
393    - G4SteppingManager:
394      o recover ApplyCuts() for cuts-by-region.
395      o fixed initilization of fAtRestDoItProcTriggered.
396
397  o Transportation:
398    --------------
399    - Included development for 'cuts-by-region':
400      o Made G4Transportation and G4UserSpecialCuts "region-aware".
401    - Cleared pedantic warnings and some cosmetic cleanups.
402
403  o g3tog4 tool:
404    -----------
405    - Fixed trivial strict pedantic warnings in compilation.
406
407  o data
408    ----
409    - Updated data-set for low-energy EM processes: G4EMLOW2.1
410
411  o Examples:
412    --------
413  o Updated reference outputs.
414  - advanced:
415    o composite_calorimeter
416      + Fixed G4cout/G4endl in CCalAnalysis and cleaned some
417        compilation warnings.
418  - extended:
419    o Updated PhysicsList for cut by region.
420    o analysis
421      + A01
422        - Added 2 more histograms to the example
423        - Fixed NullPointerException by letting SDManager delete the
424          detectors  created in DetectorConstruction.
425        - Added comment when quitting Geant4 that JAS window still
426          needs closing.
427    o biasing
428      + Changed the replica number of the world volume from -1 to 0.
429      + Initialize() of the G4RunManager is now called after all Materials
430        and volumes (also in the parallel geometry) are built.
431    o electromagnetic
432      + TestEm1
433        - Fixed verbose problem.
434        - Removed old interfaces to cuts.
435        - Added definition of mean excitation energy for water.
436      + TestEm2
437        - Use logical mother for G4PVPlacement and G4PVReplica.
438        - Completed migration to cuts by region.
439        - Update modular structure of PhysicsList.
440      + TestEm3
441        - Change in all macros: /run/particle/setCut -> /testem/phys/setCuts.
442        - Material CsI and example of SetMeanExcitationEnergy().
443        - Defined BGO material.
444        - Added example of static ion: IonC12 class and ionC12.mac.
445        - Use logical mother for G4PVPlacement.
446      + TestEm4
447        - Use logical mother for G4PVPlacement.
448      + TestEm5
449        - PhysicsList: removed cutForProton (old interface).
450        - Fixed problem of 'OutOfWorld' volume.
451        - Use logical mother for G4PVPlacement.
452      + TestEm6
453        - Use logical mother for G4PVPlacement.
454  - novice:
455    o Updated PhysicsList for cut by region.
456    o Use pointer to logical mother for placements.
457    o Added new novice example N07 demonstrating cuts-by-region,
458      material parameterisation, run-time modification of part of the
459      geometry setup, sharing of a sensitive detector definition for
460      different sub-detectors, customization of the G4Run, store/retrieve
461      physics table.
462    o N04
463      + Added capture and fission in HadronPhysicsList.
464    o N06
465      + Corrected OpWaterSurface to be dieletric_dieletric.
Note: See TracBrowser for help on using the repository browser.