1 | |
---|
2 | Geant4 3.1 Release Notes |
---|
3 | ------------------------ |
---|
4 | |
---|
5 | 6th April 2001 |
---|
6 | |
---|
7 | These are the main new features/fixes included in this release since |
---|
8 | release 3.0 (for the detailed list of fixes/additions, please refer to the |
---|
9 | related History files): |
---|
10 | |
---|
11 | o Configuration: |
---|
12 | ------------- |
---|
13 | - Added/enabled code in configuration files to store path to dynamic |
---|
14 | library from example/test directory in the executable. |
---|
15 | |
---|
16 | o Digits+Hits: |
---|
17 | ----------- |
---|
18 | - Migrated classes to use STL <vector> instead of RW wrappers. |
---|
19 | |
---|
20 | o Event: |
---|
21 | ----- |
---|
22 | - Migrated classes to use STL <vector> instead of RW wrappers. |
---|
23 | - Added proper time to G4PrimaryParticle. |
---|
24 | - Fixed bug in G4GeneralParticleSource. |
---|
25 | |
---|
26 | o Electromagnetic Processes (Low-energy): |
---|
27 | -------------------------------------- |
---|
28 | - Changes for STL migration of G4OrderedTable and G4DataVector. |
---|
29 | - Removed obsolete class G4Data. |
---|
30 | |
---|
31 | o Electromagnetic Processes (Standard): |
---|
32 | ------------------------------------ |
---|
33 | - Small corrections in e/hEnergyLoss to ensure consistency between |
---|
34 | cut in range and step limitation due to energy loss (finalRange |
---|
35 | data member <-> cut in range) |
---|
36 | - Change in energy loss computation in eBrems process. |
---|
37 | Parametrisation of energy loss due to soft brems has been corrected |
---|
38 | for big cut values. |
---|
39 | - Bug-fix in e/hEnergyLoss processes for AlongStepDoIt(). |
---|
40 | Do not use PostStep information in AlongStepDoIt() when generating |
---|
41 | sub-cutoff delta rays. |
---|
42 | - Small corrections in MuEnergyLoss process. |
---|
43 | - Bug fixed in MultipleScattering: there was an error in computation |
---|
44 | of the transport cross section, the cross section was too small for |
---|
45 | low energy (below few MeV for electrons). |
---|
46 | - Bug fixed in G4MuBremstrahlung::PostStepDoIt() in sampling energy |
---|
47 | of generated photons. Fixes the problem sometimes occuring of |
---|
48 | negative interaction length detected. |
---|
49 | - Fix at small cut value for error in loss fluctuations |
---|
50 | (for example in Al 100 microns). |
---|
51 | - Suppressed protection in PhotoElectric process. |
---|
52 | - Adopt fStopButAlive in eplusAnnihilation process. |
---|
53 | - Introduced new module 'integral' for integral processes: moved |
---|
54 | existing integral processes (G4I*, G4VI*) therein. |
---|
55 | |
---|
56 | o General Processes, Parameterisation, Decay, Optical: |
---|
57 | --------------------------------------------------- |
---|
58 | - Modified G4OpRayleigh to allow for Rayleigh scattering length to |
---|
59 | be defined for arbitrary material through the use of |
---|
60 | G4MaterialPropertyTable. This deals with bug report #199. |
---|
61 | - Fixes in the DoIt of G4OpRayleigh: to allow for positive and negative |
---|
62 | CosTheta and to force the new momentum direction of the photon after |
---|
63 | scattering to be in the same plane as the new and old polarization |
---|
64 | vectors. Deals with bug report #207. |
---|
65 | - Added abstract class G4VExtDecayer for external decayer and modified |
---|
66 | G4Decay accordingly. |
---|
67 | - Modified Store/RetrievePhysicsTable() methods: added a bool argument |
---|
68 | to specify ascii/binary mode. |
---|
69 | |
---|
70 | o Geometry: |
---|
71 | -------- |
---|
72 | - Boolean solids: |
---|
73 | o Minor fix to labels in G4Exception calls. |
---|
74 | Fixes problem report #200. |
---|
75 | o G4IntersectionSolid: |
---|
76 | - Fix in CalculateExtent() for computation of 'pMin' |
---|
77 | and 'pMax', to avoid assignment in case CalculateExtent() of |
---|
78 | one component solid fails. |
---|
79 | - Fix in Inside() to return 'kOutside' in case first component |
---|
80 | solid's Inside() returns 'kOutside'. |
---|
81 | o G4UnionSolid: |
---|
82 | - Fix in DistanceToOut(p,v,...) for assignment of argument *n to |
---|
83 | happen only if calcNorm is false. |
---|
84 | - Fix in CalculateExtent() for computation of 'pMin' and 'pMax'. |
---|
85 | |
---|
86 | - CSG solids |
---|
87 | o G4Tubs: |
---|
88 | - Corrections in phi-section algorithm of Inside(p). |
---|
89 | - Fixed condition from (pPhi<0) to (pPhi<-0.5*kAngleTolerance) |
---|
90 | in Inside(p). Fixes problem report #198. |
---|
91 | - Fixed bug in function Inside(p) in computation of pPhi |
---|
92 | for points at phi = 0 if the (start phi)+(delta phi) is |
---|
93 | at phi = 0. |
---|
94 | - Temporarly modified CalculateExtent(...), now simply based |
---|
95 | on G4Box::CalculateExtent(...). |
---|
96 | o G4Box: |
---|
97 | - Introduced checks against negative (or <2*kCarTolerance) |
---|
98 | dimensions in methods SetXHalfLength(), SetYHalfLength() and |
---|
99 | SetZHalfLength(). |
---|
100 | - Fixes to algorithm for computation of rotated vertices in |
---|
101 | CalculateExtent(). |
---|
102 | o G4Torus: |
---|
103 | - Extracted logic for G4PolynomialSolver now included |
---|
104 | in global/HEPNumerics. |
---|
105 | |
---|
106 | - Specific solids: |
---|
107 | o Fix in G4Hype::DistanceToOut(p,v,...): added protection against |
---|
108 | zero v.z. |
---|
109 | o G4IntersectingCone: make small adjustment to help with roundoff |
---|
110 | error in LineHitsCone1() and LineHitsCone2(). |
---|
111 | |
---|
112 | - Magnetic Field |
---|
113 | o Minor fix to G4MagneticField.hh: added explicit call to G4Field() |
---|
114 | in copy constructor. Fixes problem report #205. |
---|
115 | o Fixed G4MagHelicalStepper::AdvanceHelix for momentum, allowing |
---|
116 | the possibility of (correct) use of all Helical Steppers. |
---|
117 | o Corrected field components in G4UniformElectricField. |
---|
118 | |
---|
119 | - Management |
---|
120 | o Introduced G4AssemblyVolume: helper class to combine |
---|
121 | volumes together in an arbitrary way in the 3D space. |
---|
122 | |
---|
123 | - Volumes |
---|
124 | o Fix in G4ReplicaNavigation::ComputeTransformation() to consider |
---|
125 | 'pVol' for SetPhiTransformation() in the kPhi case. |
---|
126 | o Fix in G4ReplicaNavigation::ComputeStep() to initialise 'ourStep' |
---|
127 | to kCarTolerance. |
---|
128 | |
---|
129 | o Global: |
---|
130 | ------ |
---|
131 | - Migrated G4PhysicsTable, G4PhysicsVector and all related classes |
---|
132 | to use STL <vector> instead of RW wrappers. |
---|
133 | - Fix to G4Allocator destructor: bug report #181. |
---|
134 | - Added generic class G4PolynomialSolver in HEPNumerics module. |
---|
135 | - Removed from G4PhysicsVector dependency over G4PhysicsTable. |
---|
136 | Removed methods: LinkPhysicsTable(), IsLinkedTableExist() and |
---|
137 | GetNextTable(). Removed data-member ptrNextTable. |
---|
138 | - Added new unit 'parsec' to SystemOfUnits.h |
---|
139 | - Fixed bug in constructor of G4PhysicsLnVector: initialised |
---|
140 | 'dataVector' to zero. |
---|
141 | - Added Store/RetrievePhysicsTable methods in G4PhysicsTable. |
---|
142 | - Added Store/Retrieve and GetType methods in G4PhysicsVector and |
---|
143 | related. |
---|
144 | - Introduced G4PhysicsVectorType class (enumeration). |
---|
145 | - G4UnitsTable: resolved ambiguity of old/new style iostream for |
---|
146 | formatting in operator<<. |
---|
147 | |
---|
148 | o Graphics Representations: |
---|
149 | ------------------------ |
---|
150 | - Tidying for CodeWizard. Added virtual destructors to |
---|
151 | HepPolyhedronBox, etc. Also made all constructors non-inline. |
---|
152 | - Removed G4Circle.icc and G4VVisPrim.icc. |
---|
153 | |
---|
154 | o Hadronic Processes: |
---|
155 | ------------------ |
---|
156 | - Bug fix for very low energy ion cross-sections; should have no |
---|
157 | visible effect. |
---|
158 | - Moved inline implementation of G4Solver to G4Solver.icc. |
---|
159 | |
---|
160 | o Materials: |
---|
161 | --------- |
---|
162 | - Bug fixed in G4IonisParamMat.cc : E100eV instead of E100keV |
---|
163 | This bug affected the values of the density correction parameters |
---|
164 | in the energy loss (dE/dx) computation: ~3-5 % error in dE/dx in |
---|
165 | the energy range 1 MeV - 50 MeV ! |
---|
166 | - Added new method G4Material::GetNuclearInterLength(). |
---|
167 | - Bug fix concerning units in G4SandiaTable::GetSandiaCofPerAtom(). |
---|
168 | Reimplemented G4SandiaTable::ComputeMatSandiaMatrix(). |
---|
169 | - Added protection in GetSandiaCofForMaterial(). |
---|
170 | - fnulcof added as data member in G4SandiaTable. |
---|
171 | - Revision of destructor, copy constructor, assignement operator in |
---|
172 | G4IonisParam, G4Isotope, G4Element and G4Material, according to |
---|
173 | problem report #106. |
---|
174 | - Removed warning to cerr in GetIsotope(name), GetElement(name), |
---|
175 | and GetMaterial(name). |
---|
176 | |
---|
177 | o Particles: |
---|
178 | --------- |
---|
179 | - Added pre-assignedDecayTime to G4DynamicParticle. |
---|
180 | - Bug fix in calculation of electron energy in G4MuDecayChannel. |
---|
181 | Fixes problem report #224. |
---|
182 | - Fixed a bug in G4DynamicParticle::SetDefinition() for problem |
---|
183 | report #228. |
---|
184 | - Added RestoreCuts() methods to G4ParticleWithCuts class. |
---|
185 | |
---|
186 | o Persistency: |
---|
187 | ----------- |
---|
188 | - G4PDCofThisEvent.ddl: fixed a bug in GetNumberOfCollections(). |
---|
189 | |
---|
190 | o Readout: |
---|
191 | ------- |
---|
192 | - Migrated classes to use STL <vector> instead of RW wrappers. |
---|
193 | |
---|
194 | o Run and Intercoms: |
---|
195 | ----------------- |
---|
196 | - Migrated classes to use STL <vector> instead of RW wrappers. |
---|
197 | |
---|
198 | o Tracking & Track: |
---|
199 | ---------------- |
---|
200 | - Changes for STL migration of G4OrderedTable and G4DataVector. |
---|
201 | - Migrated classes to use STL <vector> instead of RW wrappers. |
---|
202 | - Added comments to headers for the Software Reference Manual. |
---|
203 | - Added copy constructor for G4Track. |
---|
204 | - Fix in G4Track::GetVelocity() for Gamma |
---|
205 | - Fixes to G4StepPoint::GetVelocity() for problem report #208 |
---|
206 | and to return correct value in case of optical-photon. |
---|
207 | - Added call to SetVelocity() in G4Step::InitializeStep(). |
---|
208 | - G4PArticleChange: fix in case momentum is zero, (even if |
---|
209 | energy>0.0 and very small) to overcome problems due to |
---|
210 | precision issues. |
---|
211 | |
---|
212 | o Transportation: |
---|
213 | -------------- |
---|
214 | - Improved calculation of energy at the end of the field. |
---|
215 | - G4Transportation modified to use new FieldTrack, and get Kinetic |
---|
216 | Energy from it. This implements integration in Momentum (*c-light) |
---|
217 | instead of velocity. |
---|
218 | |
---|
219 | o Visualization: |
---|
220 | ------------- |
---|
221 | - Changed rotation of phi-replicas in G4PhysicalVolumeModel.cc to |
---|
222 | ensure correspondence with rule that phi=0 bisects the replica. |
---|
223 | |
---|
224 | WARNING: Prior to this fix the graphics did NOT correspond to the |
---|
225 | replica navigation. If you have been relying on the graphics to |
---|
226 | position daughter volumes in a phi-replica, navigation will have |
---|
227 | been incorrect, possibly without causing a crash. The above fix |
---|
228 | will change the apparent position as shown by the graphics and you |
---|
229 | will have to correct the positioning of daughters. Make sure the |
---|
230 | daughters are all properly enclosed within the replica. Graphics |
---|
231 | and navigation now correspond. |
---|
232 | - Added auto-refresh facility for OpenGL. |
---|
233 | - Bug fixes for problems: |
---|
234 | #120: improved up vector calculation to avoid view "flipping" |
---|
235 | at (90, 90). |
---|
236 | #157: fixed crash when viewer was defined before scene. |
---|
237 | #204: fixed failure to change number of sides per circle. |
---|
238 | - Fixed problem when requested physical volume was at depth 2 or more. |
---|
239 | - Migrated classes to use STL <vector> instead of RW wrappers. |
---|
240 | - Introduced many new commands (listed below). Old commands print a |
---|
241 | DEPRECATED warning. |
---|
242 | o New compound command: |
---|
243 | /vis/drawView [<theta-deg>] [<phi-deg>] |
---|
244 | [<pan-right>] [<pan-up>] [<pan-unit>] |
---|
245 | [<zoom-factor>] [<dolly>] [<dolly-unit>] |
---|
246 | o New primitive commands: |
---|
247 | /vis/enable [true|false] |
---|
248 | /vis/disable |
---|
249 | /vis/verbose [] |
---|
250 | /vis/viewer/set/lineSegmentsPerCircle [] |
---|
251 | /vis/viewer/set/sectionPlane ... |
---|
252 | /vis/viewer/set/autoRefresh |
---|
253 | /vis/viewer/set/projection |
---|
254 | /vis/viewer/dolly |
---|
255 | /vis/viewer/dollyTo |
---|
256 | /vis/viewer/lightsThetaPhi |
---|
257 | /vis/viewer/lightsVector |
---|
258 | /vis/viewer/pan |
---|
259 | /vis/viewer/panTo |
---|
260 | /vis/viewer/viewpointThetaPhi |
---|
261 | /vis/viewer/viewpointVector |
---|
262 | /vis/viewer/zoom |
---|
263 | /vis/viewer/zoomTo |
---|
264 | /vis/viewer/set/hiddenMarker |
---|
265 | /vis/viewer/set/lightsMove |
---|
266 | |
---|
267 | o G4toG4 Tool: |
---|
268 | ----------- |
---|
269 | - Fixed bug in G3toG4BuildTree(G3VolTableEntry*, G3VolTableEntry*) |
---|
270 | when positioning volume copies. Index is now decremented. |
---|
271 | Added -DG3G4DEBUG to CPPFLAGS in GNUmakefile. |
---|
272 | Fixes bug report #188. |
---|
273 | - Added support for replicated "PARA" shapes in |
---|
274 | G3Division::CreateSolid(...). Slices are placed with |
---|
275 | G4PVPlacement instead of G4PVReplica for this particular case. |
---|
276 | - G3toG4MakeSolid.cc: fixed bug in construction of G4Sphere where |
---|
277 | 'theta' and 'phi' parameters were reversed according to G4Sphere |
---|
278 | constructor. Fixes problem report #230. |
---|
279 | |
---|
280 | o Examples: |
---|
281 | -------- |
---|
282 | - Introduced modular Physics List in exampleN04. |
---|
283 | - ExampleN02: fix to ExN02ChamberParameterisation and |
---|
284 | ExN02DetectorConstruction to cope with bug report #186. |
---|
285 | - Added G4MuonMinusCaptureAtRest in physics list of ExampleN04. |
---|
286 | |
---|
287 | |
---|
288 | Notes: |
---|
289 | |
---|
290 | o Geant4 3.1 is based on STL and can be installed with strict |
---|
291 | ISO/ANSI C++ compliant setup or not. See notes below. |
---|
292 | |
---|
293 | The code and some binary libraries are available through our "Source Code" |
---|
294 | Web page: |
---|
295 | - see our Geant4 Home Page (http://cern.ch/geant4). |
---|
296 | |
---|
297 | Please refer to the Geant4 User Documentation |
---|
298 | (http://cern.ch/geant4/G4UsersDocuments/Overview/html) |
---|
299 | for further information about using Geant4. |
---|
300 | Updates to the documentation for Geant4 3.1 are expected to be published as |
---|
301 | usual within three weeks from the release date. |
---|
302 | |
---|
303 | |
---|
304 | Contents |
---|
305 | -------- |
---|
306 | |
---|
307 | 1. Supported and Tested Platforms |
---|
308 | 2. ANAPHE and CLHEP |
---|
309 | 3. The Standard Template Library (STL) |
---|
310 | 4. Persistency |
---|
311 | 5. Compiler Specific Problems |
---|
312 | 6. Known Run-Time Problems |
---|
313 | 7. Compilation Warnings |
---|
314 | 8. Known Run-Time Warnings |
---|
315 | |
---|
316 | |
---|
317 | 1. Supported and Tested Platforms |
---|
318 | --------------------------------- |
---|
319 | |
---|
320 | o SUN Solaris 5.6/5.7, C++ 4.2 Patch 104631-04, C++ 5.2 Patch 109508-02. |
---|
321 | o HP 10.20, aCC C++ B3910B A.01.23 |
---|
322 | o Linux 2.2.17-7, gcc C++ egcs-2.91.66 (egcs 1.1.2), gcc 2.95.2. |
---|
323 | This configuration was tested with the RedHat 6.1 distribution, but |
---|
324 | versions of Geant4 have also been compiled successfully on Debian |
---|
325 | and Suse distributions. |
---|
326 | o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with: |
---|
327 | Visual C++ 6.0 Service Pack 2 |
---|
328 | |
---|
329 | Platforms also tested but giving rise to some problems - see below: |
---|
330 | |
---|
331 | o DEC V4.0, cxx C++ V6.1-027. |
---|
332 | |
---|
333 | Platforms configured but not tested and not supported: |
---|
334 | o SGI V6.5.5, CC 7.2.1 with ObjectSpace |
---|
335 | o AIX 4.3.2, xlC compiler with ObjectSpace |
---|
336 | |
---|
337 | |
---|
338 | 2. ANAPHE and CLHEP |
---|
339 | ------------------- |
---|
340 | |
---|
341 | Geant4 3.1 requires the installation of CLHEP. |
---|
342 | |
---|
343 | See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html). |
---|
344 | Tests have been performed with CLHEP 1.6.0.0. |
---|
345 | |
---|
346 | By default, the CLHEP installation scripts will activate ISO/ANSI C++ features |
---|
347 | if the compiler is capable. You need to explicitly disable CLHEP settings in |
---|
348 | case you wish non-ISO/ANSI setup on specific compilers. |
---|
349 | |
---|
350 | Geant4 3.1 coworks with ANAPHE 3.2.0 and components included therein: |
---|
351 | Objectivity 5.2.1 |
---|
352 | ObjectSpace 2.1 |
---|
353 | HepODBMS 0.3.1.4 |
---|
354 | CLHEP 1.6.0.0 |
---|
355 | |
---|
356 | For more information about ANAPHE, see: http://cern.ch/anaphe |
---|
357 | |
---|
358 | |
---|
359 | 3. The Standard Template Library |
---|
360 | -------------------------------- |
---|
361 | |
---|
362 | The following versions of STL have been tested: |
---|
363 | |
---|
364 | ObjectSpace STL on SUN (CC 4.2). |
---|
365 | |
---|
366 | See ObjectSpace (http://www.objectspace.com). |
---|
367 | |
---|
368 | "Native" STL on: Windows/NT, Linux, HP, DEC and SUN (CC 5.2). |
---|
369 | |
---|
370 | This is selected at installation/compile time by the environment variable |
---|
371 | G4USE_OSPACE in the case of the former - see documentation. |
---|
372 | |
---|
373 | NOTES: |
---|
374 | - Be aware that by default, the installation scripts will expect to use |
---|
375 | the native STL implementation. You must set the G4USE_OSPACE variable |
---|
376 | in the environment in order to select the ObjectSpace implementation. |
---|
377 | |
---|
378 | - Platform specific setup: |
---|
379 | o DEC: ObjectSpace is required in non ISO/ANSI setup. |
---|
380 | Native STL is required for ISO/ANSI setup. |
---|
381 | o HP: either ObjectSpace or native STL can be used (non ISO/ANSI setup). |
---|
382 | o SUN: ObjectSpace is required in non ISO/ANSI setup (CC 4.2). |
---|
383 | Native STL is required for ISO/ANSI setup (CC 5.2 only). |
---|
384 | o Linux: Native STL is required (non ISO/ANSI setup). |
---|
385 | o NT: Native STL and ISO/ANSI setup required. |
---|
386 | |
---|
387 | In the interest of stability, part of the code in Geant4 3.1 still makes use |
---|
388 | of the "STL Interface" wrapper classes, used for allowing the migration from |
---|
389 | Rogue Wave Tools.h++ container library. For these the emphasis has remained |
---|
390 | on correct behaviour, rather than performance. |
---|
391 | |
---|
392 | |
---|
393 | 4. Persistency |
---|
394 | -------------- |
---|
395 | |
---|
396 | See release notes for Geant4 3.0. |
---|
397 | |
---|
398 | 5. Compiler Specific Problems |
---|
399 | ----------------------------- |
---|
400 | |
---|
401 | o DEC V4.0, cxx C++ V6.1-027. |
---|
402 | |
---|
403 | - We have found cases of mis-compilation of min and max templates |
---|
404 | on DEC. We have traced those which cause serious malfunction |
---|
405 | but there is no guarantee that there are no other cases. |
---|
406 | Detailed inspection of assembler output suggests that this |
---|
407 | problem might not be confined to min and max. This has been |
---|
408 | reported to DEC/Compaq. We understand a new version 6.2 of the |
---|
409 | compiler is now available. However we cannot guarantee correct |
---|
410 | execution of Geant4 on DEC with the current version of the |
---|
411 | compiler. |
---|
412 | - A bug in cin.getline() system function causes an anomalous |
---|
413 | behavior when running in interactive-mode on DEC-cxx 6.1 in |
---|
414 | ISO/ANSI mode. We tested the bug has been fixed in more recent |
---|
415 | versions of the compiler. |
---|
416 | |
---|
417 | |
---|
418 | 6. Known Run-Time Problems and Limitations |
---|
419 | ------------------------------------------ |
---|
420 | |
---|
421 | For a complete list of outstanding run-time problems and to submit any |
---|
422 | problem you may find running this version of Geant4, please refer to the |
---|
423 | Geant4 Problem Reporting System, available on the Web at this address: |
---|
424 | |
---|
425 | http://cern.ch/geant4/problemreport |
---|
426 | |
---|
427 | |
---|
428 | 7. Compilation Warnings |
---|
429 | ----------------------- |
---|
430 | |
---|
431 | There are compilation warnings on some platforms. We do not believe |
---|
432 | that any will lead to incorrect run-time behaviour, but we are working |
---|
433 | on reducing them. |
---|
434 | |
---|
435 | |
---|
436 | 8. Known Run-Time Warnings |
---|
437 | -------------------------- |
---|
438 | |
---|
439 | The following messages can be written to error output while tracking. We |
---|
440 | believe none give rise to incorrect behaviour. |
---|
441 | |
---|
442 | o G4PropagateInField: Warning: Particle is looping |
---|
443 | - tracking in field will be stopped. |
---|
444 | It has performed 10000 steps in Field while a maximum of 10000 |
---|
445 | are allowed. |
---|