source: trunk/ReleaseNotes/ReleaseNotes4.2.0.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: 16.0 KB
Line 
1
2                 Geant4 2.0 Release Notes
3                 ------------------------
4
5                                                     30th June 2000
6
7These are the main new features/fixes included in this release (for the
8detailed list of fixes/additions, please refer to the related History files):
9
10  o Electromagnetic Processes:
11    -------------------------
12    - internal reorganisation of the EnergyLoss classes.
13      Introduced one level of abstraction through the G4VEnergyLoss class
14      for muons, electrons and hadrons.
15    - introduced new functionalities for the energy loss fluctuation model,
16      and bug fixes. 
17    - removed *Plus* process classes and merged to standard processes:
18      optimized generation of delta rays near the geometrical boudaries is
19      now performed as the default.
20    - bug fixed in the multiple scattering.
21    - bugs fixed in G4eIonisation and G4hIonisation.
22    - absolute min gamma energy fixed to 10 keV in G4eBremsstrahlung.
23    - bugs fixed in G4MuIonisation and G4MuPairProduction.
24      Updated Physics Reference Manual for muon processes.
25    - Added new models of Transition Radiation radiators
26      in processes/parametrisation.
27
28  o Electromagnetic Processes, Low-energy :
29    -------------------------------------
30    - fixes in G4LowEnergyBremsstrahlung for continuous energy loss.
31    - modifications for integration of cross sections, corrections of
32      fluorescence transition probabilities to take into account
33      non-radiative transitions.
34
35  o General Processes, Parameterisation, Decay :
36    ------------------------------------------
37    - introduced new set of models for X-ray transition radiation
38      parameterisation.
39    - implemented full migration to STL for processes/parameterisation
40      and processes/management modules.
41    - added process registration into ProcessTable in copy constructor.
42    - fixed registration of "shortlived" particles for G4Decay.
43
44  o Geometry:
45    --------
46  - magneticfield:
47    o corrected helical steppers.
48    o fix in G4LineSection to prevent divisions by 0 and sqrt(<0).
49    o modified method for finding new trial step in G4ChordFinder.
50  - management:
51    o design change in G4VSolid for visualization utilities: changed pure
52      virtual method G4VSolid::GetExtent() to virtual. Added default
53      implementation based on CalculateExtent().
54  - BREPS solids:
55    o Decoupled BREPS module from the STEP Reader;
56    o Memory leak fixes and some code cleanup.
57  - CSG and specific solids:
58    o created new module solids/specific and moved therein all non-CSG
59      shapes previously placed in solids/CSG.
60    o Added new shape in solids/specific: G4EllipticalTube.
61    o Fixed bug in G4PolyhedraSide::Normal(...). This fixes a problem
62      observed in G4Polyhedra::SurfaceNormal. Fixes in G4Hype.
63    o Fixed typo in method name in G4Polyhedra.: changed GetNumSIde() to
64      GetNumSide().
65    o Added more diagnostics in G4Cons, G4Sphere and G4Torus in function
66      DistanceToOut(p,v,...).
67    o Fix in DistanceToIn(p,v) for G4Box and G4Trd to return zero
68      distance in case computed value is less than 0.5*kCarTolerance.
69    o Added safety against call from outside in DistanceToOut(p)
70    o Fix to G4Tubs::DistanceToOut(p,v,...) in computation of xi, yi
71      for (sphi>=-0.5*kCarTolerance).
72    o Added more diagnostics in case of invalid enum for DistanceToOut.
73    o Added new alternative functions SolveBiQuadratic/CubicNew in G4Torus.
74  - solids/Boolean:
75    o Implemented CreatePolyhedron method.
76    o G4DisplacedSolid: reversed implementation of GetFrameRotation and
77      GetObjectRotation, removing inappropriate invertion.
78    o G4DisplacedSolid::GetConstituentMovedSolid() made const.
79    o Fixed bug in G4SubtractionSolid::DistanceToOut(p,v,...).
80      validNorm flag was uncorrectly set to true.
81  - STEP:
82    o Upgraded NIST STEP Reader to SCL (STEP Class Library) 3.2;
83    o Implemented porting on supported platforms/compilers and
84      ISO-ANSI C++ compliance.
85  - STEP Interface module:
86    o Implemented porting to support the new NIST STEP Reader;
87    o Reduced inter-class dependencies by reorganising include
88      statements.
89    o Improved overall diagnostics and fixed internal memory-leaks;
90    o Added protections for NULL pointers generated by missing geometry
91      creators.
92    o Implemented temporary solution for association of placements
93      with manifolded solids for advanced BREP shape representations.
94  - volumes:
95    o introduced kCarTolerance for check over taken step length and
96      TruePathLength in G4PropagatorInField::ComputeStep().
97    o fixes in G4ReplicaNavigation::ComputeStep() for zero-step length
98      loops observed when point is on boundary.
99
100  o Globals and Config:
101    ------------------
102    - Added class G4PhysicsLnVector implementing a physics vector with
103      natural logarithmic scale for energy/momentum bins.
104    - Added string identifier to G4UserLimits.
105    - Defined G4complex type as complex type of doubles.
106    - Fixes to STLInterface wrappers: fixed initialization of base STL
107      vector in default constructor of vector collections.
108    - Changed implementation of G4Integrator to a template class.
109    - Config: implemented modular setup. Now system specific configurations
110      are grouped in separated files $G4SYSTEM.gmk and placed in the new
111      directory config/sys.
112
113  o Graphics Representations:
114    ------------------------
115    - Added HepPolyhedron class and re-implemented G4Polyhedron using this
116      new class (which will become part of CLHEP).
117    - Added boolean processor for boolean operations of HepPolyhedron
118      objects.
119
120  o Hadronic Processes:
121    ------------------
122    - management: allowing ion interactions in G4HadronInelasticProcess.
123    - cross_sections: added new classes for ion-ion reactions, and for ion
124       reactions on Hydrogen.
125    - processes: added new process for ion induced reactions.
126    - models/isotope_production: added model for proton induced isotope
127       production, validity range is the proton spallation energy range
128       (to use this, an update of the G4NDL library is required).
129    - models/neutron_hp: enabled production of residual nuclei for some
130       inelastic final states.
131    - models/generator/de_excitation: design iteration to allow re-use of
132       root-finding algorithms.
133    - models/generator/quark_gluon_string: added gamma annihilation
134       cross-sections and anti-nucleaon-nucleon annihilation. Bug fixes
135       in AntiSigma SU(12) wafe-function. Extended G4SPBaryon.
136    - models/generator/string_fragmentation: extended
137       G4VLongitudinalStringDecay to allow string excitation dependent
138       parameters.
139    - models/generator/util: bug fixes and added functionality in
140       G4KineticTrack.
141    - models/radiative_decay: added model for simulating the decay of
142       radio-active nuclei and isomeric states. Validity range is the
143       range of materials available from ENSDF as of May 2000. To use
144       this model a data set is provided in geant4/data/RadiativeDecay
145       and the environment variable G4RADIOACTIVEDATA must be set.
146    - fixes for memory leaks observed at event loop.
147
148    NOTE: the consistent data sets for photon evaporation and radio-active
149          decay (derived from the same version of the ENSDF data) are
150          provided from Web in the source download area. A previous version
151          of photon evaporation data is also provided.
152
153  o Interfaces:
154    ----------
155    - Introduced new G4UITerminal (G4UItcsh) with UNIX-like shell
156      (currently fully tested only on Linux-g++ and SUN-CC systems).
157   
158  o Particles:
159    ---------
160    - Full migration to STL performed.
161    - Removed G4RhoPlus, G4RhoZero, and G4RhoMinus classes.
162      Added "rho0" in G4ShortLivedConstructor.
163    - Fixes in G4IsotopeTable and G4NucleiProperties classes.
164    - Introduced ParticleSubType property in ParticleDefinition.
165    - Added GetAtomicNumber() and GetAtomicMass() methods to G4VIon,
166      G4Proton, and G4Neutron.
167    - Added G4VDecayChannel::GetAngularMomentum() method.
168
169  o Tracking & Track:
170    ----------------
171    - Added thePolarizationChange in G4ParticleChangeForTransportation.
172    - Added cashing mechanism of pointer to material in G4StepPoint.
173      to extract material information from parametrized volumes.
174    - GetTouchable/SetTouchable methods have been changed to handle
175      "const" pointers.
176    - Introduced G4VUserTrackInformation class and associated to G4Track.
177    - Fixed problem in deleting touchable in G4SteppingManager.
178
179  o Visualization:
180    -------------
181    - Introduced first implementation of the G4RayTracer. With G4RayTracer
182      all solids types supported in Geant4 can be visualised.
183    - Added commands /vis/viewer/update, /vis/viewer/reset.
184    - Added "compound" commands: /vis/open, /vis/drawVolume.
185    - Added ability to visualise boolean solids through G4Polyhedron objects.
186    - Added G4LogicalVolumeModel::DescribeSolid(), which explicitly adds
187      components of composite solids as white forced-wireframe objects.
188    - OPACS:
189      o G4GoSceneHandler: correct polyhedron wire-frame in order to remove
190        some edges.
191      o G4WoViewer: changed camera name checking so that a viewer created
192        by the GUI (Wo) could be hooked.
193      o G4GoSceneHandler: changed circle rendering.
194    - Bug fix in G4PhysicalVolumeModel for replicas.
195
196
197Notes:
198
199  o  Geant4 2.0 is based on STL and can be installed with strict
200     ISO/ANSI C++ compliant setup or not. See notes below.
201
202The code and some binary libraries are available through our "Source
203Code" Web page:
204- see our Geant4 Home Page (http://cern.ch/geant4).
205
206Please refer to the Geant4 User Documentation
207(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
208for further information about using Geant4.
209Updates to the documentation for Geant4 2.0 are expected to be published as
210usual within three weeks from the release date.
211
212
213Contents
214--------
215
216  1. Supported and Tested Platforms
217  2. LHC++ and CLHEP 1.5
218  3. The Standard Template Library (STL)
219  4. Persistency
220  5. Compiler Specific Problems
221  6. Known Run-Time Problems
222  7. Compilation Warnings
223  8. Known Run-Time Warnings
224
225
2261. Supported and Tested Platforms
227---------------------------------
228
229  o SUN Solaris 5.6, C++ 4.2 patch 104631-04.
230  o HP 10.20, aCC C++ B3910B A.01.23
231  o Linux 2.2.12-20, gcc C++ egcs-2.91.66 (egcs 1.1.2).
232      This configuration was tested with the RedHat 6.1 distribution, but
233      versions of Geant4 have also been compiled successfully on Debian
234      and Suse distributions.
235
236Platforms also tested but giving rise to some problems - see below:
237
238  o DEC V4.0, cxx C++ V6.1-027.
239  o SUN Solaris 5.6, C++ 5.0 patches 107357-07, 107311-09.
240
241Platforms configured but not yet tested (a patch will follow, if needed):
242
243  o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with:
244      Visual C++ 6.0 Service Pack 2
245
246Platforms configured but not tested and not supported:
247  o SGI V6.5.5, CC 7.2.1 with ObjectSpace
248  o AIX 4.3.2, xlC compiler with ObjectSpace
249
250
2512. LHC++ and CLHEP 1.5
252----------------------
253
254Geant4 2.0 requires the installation of CLHEP 1.5.
255
256See CLHEP 1.5 (http://cern.ch/clhep/INSTALLATION/clhep.html).
257
258By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
259if the compiler is capable. You need to explicitly disable CLHEP settings in
260case you wish non-ISO/ANSI setup on those compilers (for example, DEC).
261Note that the installation of the "Hist" package in CLHEP for histogramming
262is now disabled by default. If you wish to install CLHEP with the "Hist"
263package, you need to edit the CLHEP installation scripts and add the
264corresponding entry.
265
266Geant4 2.0 coworks with LHC++ 2.0.0 and components included therein:
267  Objectivity 5.2.1
268  ObjectSpace 2.1
269  HepODBMS 0.3.1.3
270  CLHEP 1.5.0.0
271 
2723. The Standard Template Library
273--------------------------------
274
275The following versions of STL have been tested:
276
277   ObjectSpace STL on
278          DEC, HP and SUN.
279
280          See ObjectSpace (http://www.objectspace.com).
281
282   "Native" STL on: Linux, HP, DEC and SUN.
283
284This is selected at installation/compile time by the environment variable
285G4USE_OSPACE in the case of the former - see documentation.
286
287NOTES:
288- Be aware that by default, the installation scripts will expect to use
289  the native STL implementation. You must set the G4USE_OSPACE variable
290  in the environment in order to select the ObjectSpace implementation.
291
292- Platform specific setup:
293  o DEC:   ObjectSpace is required in non ISO/ANSI setup.
294           Native STL is required for ISO/ANSI setup.
295  o HP:    either ObjectSpace or native STL can be used (non ISO/ANSI setup).
296  o SUN:   ObjectSpace is required in non ISO/ANSI setup (CC 4.2).
297           Native STL is required for ISO/ANSI setup (CC 5.0 only).
298  o Linux: native STL is required (non ISO/ANSI setup).
299  o NT:    Native STL and ISO/ANSI setup required.
300
301In the interest of stability, a significant part of the code in Geant4 2.0
302still makes use of the "STL Interface" wrapper classes, used for allowing the
303migration from Rogue Wave Tools.h++ container library.  For these the emphasis
304has remained on correct behaviour, rather than performance.
305
306
3074. Persistency
308--------------
309
310- Platforms
311
312  Persistency in Geant4 2.0 release has been tested on the following
313  platforms/software versions:
314
315  G4SYSTEM       OS        C++ compiler   HepODBMS   Objectivity
316  ---------  -----------   ------------   ---------  -----------
317   SUN-CC    SunOS 5.6      CC 4.2         0.3.1.4      5.2.1
318  Linux-g++  Linux  RH6.1   egcs 1.1.2     0.3.1.1      5.2.1
319
320- Known Problems
321
322  There are many warning messages on some platforms during the
323  installation of the libraries and the compilation of the examples.
324  Most of them can be safely ignored.  It is annoying but hard to get
325  rid of them due to various reasons.
326 
327  For the detail of the warning messages, please refer to the release
328  note of Geant4 1.0.
329
330
3315. Compiler Specific Problems
332-----------------------------
333
334  o DEC V4.0, cxx C++ V6.1-027.
335
336    - We have found cases of mis-compilation of min and max templates
337      on DEC.  We have traced those which cause serious malfunction
338      but there is no guarantee that there are no other cases.
339      Detailed inspection of assembler output suggests that this
340      problem might not be confined to min and max.  This has been
341      reported to DEC/Compaq.  We understand a new version 6.2 of the
342      compiler is now available.  However we cannot guarantee correct
343      execution of Geant4 on DEC with the current version of the
344      compiler.
345    - A bug in cin.getline() system function causes an anomalous
346      behavior when running in interactive-mode on DEC-cxx 6.1 in
347      ISO/ANSI mode. We tested the bug has been fixed in more recent
348      versions of the compiler.
349     
350  o SUN Solaris 5.6, C++ 5.0 patches 107357-07, 107311-09.
351
352      Due to a compiler bug, some code in Geant4 cannot be compiled in
353      optimised mode, patches are available from SUN (107357-09, 107311-10)
354      which are claimed to fix this problem, we have not been able to test
355      them yet. Tests have been performed only by using the debuggable
356      version of the libraries.
357
358
3596. Known Run-Time Problems and Limitations
360------------------------------------------
361
362- In the "high energy" hadronic model, a problem of energy non conservation
363  has been observed. A fix for it is currently under test and will be
364  available soon in a public patch.
365- In multiple scattering, the nuclear size correction maybe not well adapted
366  for electrons. A fix will come soon.
367- The parametrisation of the total cross section for electron bremsstrahlung
368  will be reviewed in order to allow generation of gamma below 10 keV.
369
370
3717. Compilation Warnings
372-----------------------
373
374There are compilation warnings on some platforms.  We do not believe
375that any will lead to incorrect run-time behaviour, but we are working
376on reducing them.
377
378
3798. Known Run-Time Warnings
380--------------------------
381
382The following messages can be written to error output while tracking.  We
383believe none give rise to incorrect behaviour.
384
385  o G4PropagateInField: Warning: Particle is looping
386    -  tracking in field will be stopped.
387       It has performed 10000 steps in Field  while a maximum of 10000
388       are allowed.
Note: See TracBrowser for help on using the repository browser.