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