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

Last change on this file since 1358 was 1337, checked in by garnier, 15 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.