source: trunk/ReleaseNotes/ReleaseNotes4.2.0.txt@ 1347

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