-
Notifications
You must be signed in to change notification settings - Fork 328
/
Copy pathReleaseNotes4.4.0.txt
648 lines (571 loc) · 28.5 KB
/
ReleaseNotes4.4.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
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
Geant4 4.0 Release Notes
------------------------
14th December 2001
These are the main new features/fixes included in this release since the
last public release (for the detailed list of fixes/additions, please refer
to the related History files):
o Analysis:
--------
- Removed analysis module. AIDA 2.2 or higher should now be adopted.
o Configuration:
-------------
- New version of the 'Configure' script for installation.
- architecture.gmk:
o made Linux-g++ architecture the default G4SYSTEM.
o removed references to STLInterface.
- Added Linux-egcs for old Linux architectures based on egcs-1.1.2 compiler.
- Made Linux-g++ specific to gcc-2.95.2 compiler or higher.
- Made SUN-CC specific to CC-5.2 compiler, the default compiler on SUN
systems. CC-4.2 is no longer supported.
- Introduced environment variable G4VIS_NONE that, if set, no visualization
drivers are built and no vis libraries are built.
- Introduced environment variable G4UI_NONE that, if set, no UI
sessions nor any UI libraries are built.
- Re-engineered G4VIS variables: removed the need to specify environment
variables for visualization drivers which do not need external packages
or libraries, namely :
G4VIS_BUILD_DAWNFILE_DRIVER
G4VIS_BUILD_RAYTRACER_DRIVER
G4VIS_BUILD_VRMLFILE_DRIVER
G4VIS_BUILD_ASCIITREE_DRIVER
G4VIS_BUILD_GAGTREE_DRIVER
with associated G4VIS_USE environment variables:
G4VIS_USE_DAWNFILE
G4VIS_USE_RAYTRACER
G4VIS_USE_VRMLFILE
G4VIS_USE_ASCIITREE
G4VIS_USE_GAGTREE
- Re-engineered G4UI variables: removed the need to specify environment
variables for UI sessions which do not need external packages or
libraries, namely :
G4UI_BUILD_GAG_SESSION, G4UI_BUILD_TERMINAL_SESSION
with associated G4UI_USE environment variables:
G4UI_USE_GAG, G4UI_USE_TCSH, G4UI_USE_TERMINAL
- Removed references to STLInterface module in architecture.gmk
and architecture setups.
- analysis.gmk: added flags to use an AIDA 2.2 compliant analysis system.
o Event:
-----
- Added a new feature for the user to increase the number of waiting stacks.
- Added Beam option for generating accelerator beams.
- Added check whether the primary vertex is inside of the world volume.
- G4PrimaryParticle now stores the proper trackID.
- G4PrimaryTransformer: now considering case where a primary is
placed on the boundary of the world volume.
- G4GeneralParticleSource (GPS): implemented co-ordinates rotation for
angular distribution.
- Bug fix in G4EventManager in case G4_STORETRAJECTORY is off.
- Moved set method of position and time from G4ParticleGun to
G4VPrimaryGenerator so that G4HEPEvtInterface can accept the primary
vertex position
- Cleared compilation warnings on gcc-2.95.2.
- Fixes to comply with removal of STLInterface.
o Electromagnetic Processes (Low-energy):
--------------------------------------
- Major revision of G4LowEnergyCompton, G4LowEnergyRayleigh and
G4LowEnergyGammaConversion: re-implementation according to the design
iteration in the data domain.
- New version of data G4EMLOW0.5 required.
- New classes for shell cross sections for proton-induced fluorescence.
- First implementation of fluorescence process.
- Introduced PIXE in G4hLowEnergyIonisation.
- Significant physics an performance improvement in electron processes.
- Added method to deactivate fluorescence in ionisation if needed.
- Added protection in G4LowEnergyPhotoElectric to avoid generation of
photons causing negative energy balance.
- Fixed a problem of continuity of ion effective charge.
- Fixed energy conservation problems for small range cuts in
G4LowEnergyIonisation.
- Introduced changes to allow multiple cuts per material (temporary).
- Removed static inline methods to non inline.
- Cleared compilation warnings on gcc-2.95.2.
- Fixes to comply with removal of STLInterface.
o Electromagnetic Processes (Standard):
------------------------------------
- Implemented mechanism for storing and retrieving Physics Tables.
- Implemented new function ComputeRestrictedMeandEdx() for ionisation
processes.
- Implemented subcutoff delta-rays mechanism in G4VMuEnergyLoss.
- Suppression of the production threshold in phot, compt, conv, annih
processes.
- Removed obsolete "integral" module.
- Fixed old outstanding bug in G4EnergyLossTables, responsible for
causing negative energy deposit in some occasions.
- Introduced changes for reference-counted touchables.
- Introduced changes to allow multiple cuts per material (temporary).
- Removed static inline methods to non inline.
- Cleared compilation warnings on gcc-2.95.2.
- Fixes to comply with removal of STLInterface.
o General Processes, Parameterisation, Decay, Optical:
---------------------------------------------------
- management:
o Added Set/GetProcessManager() to G4VProcess and modified
G4ProcessManager::AddProcess() to invoke SetProcessManager().
o Fixed bug in copy constructor of G4ProcessManager.
- parameterisation(s):
o Added new classes describing X-ray transition radiation generation
inside radiators (i.e. just along incident particle track):
G4FoamXTRdEdx, G4GamDistrXTRdEdx, G4IrregularXTRdEdx,
G4PlateIrrGasXTRdEdx, G4RegularXTRdEdx, G4VXTRdEdx, G4VXrayTRadModel.
o Introduced changes in G4VClusterModel for reference-counted
touchables.
- optical:
o Changed process name for G4OpRayleigh, G4OpBoundary and G4OpAbsorption.
- Cleared compilation warnings on gcc-2.95.2 compiler.
- Fixes to comply with removal of STLInterface.
o Geometry:
--------
- Introduced geometry/verification module for checking geometry for
volumes overlaps.
- Magnetic field:
o Handling Electric Field and time-dependent fields.
o Introduced ability to set field per volume.
o New extended examples for field in examples/extended.
o Added method in G4ChordFinder to erase/reset the state of the
StepEstimate. This is unwanted internal state that was carried
between tracks and events as a side effect.
Calling this at the start of each track, it is now possible to
eliminate a reported problem of non-repeatability.
o Reduced maximum number of steps in G4MagIntegratorDriver.
o Protected verbose warnings with G4DEBUG_FIELD flag in G4ChordFinder
and G4MagIntegratorDriver.
o G4FieldManager: added fFieldChangesEnergy data member and get/set
methods.
o Fixed interface to virtual functions in the inheritance chain of
G4Field and subclasses.
- Management:
o Added definition of G4TouchableHandle.
o Added class G4SmartVoxelStat for statistics on geometry optimisation
of volumes through voxelisation.
o Modified G4GeometryManager to make use of G4SmartVoxelStat when run
in verbose mode:
- added argument to CloseGeometry() method for verbosity
- added ReportVoxelStats() method for reporting optimisation statistics.
o Initialise noNodes to 1 in G4SmartVoxelHeader::BuildNodes() in case
computed nodes for smartless happen to be zero.
- Volumes:
o Introduced G4GeometryMessenger associated to G4TransportationManager
with following commands defined:
- geometry/test/run - to start verification of geometry for overlapping
regions based on standard grid setup.
- geometry/test/line_test - to activate test along a specified
direction and position user defined.
- geometry/test/position - to specify position for the line_test.
- geometry/test/direction - to specify direction for the line_test.
- geometry/test/tolerance - to customise test precision.
- geometry/navigator/reset - for resetting navigation history
and position.
o Added handles for reference counting: G4GRSSolidHandle,
G4GRSVolumeHandle, G4TouchableHistoryHandle.
o Modified G4Navigator for reference counted touchables.
Introduced new methods CreateTouchableHistoryHandle() and
LocateGlobalPointAndUpdateTouchableHandle(...).
o G4PropagatorInField:
- Added thresholds for number of steps with get/Set methods.
- Modified choice of subsequent step size in case of zero steps.
- Added GetCurrentFieldManager() method.
- Added 'maximum' epsilon value.
o G4Navigator:
- Fixed mirroring of the input argument for global direction into
local variable in LocateGlobalPointAndSetup().
- Added ResetState() method (that only reset state - not stack).
- Added optional argument for direction to LocateGlobalPointAndSetup().
- State is now resetted when touchable history is used to
re-initialise it.
- Direction in LocateGlobalPointAndSetup() methods is now used.
- solids/Boolean:
o Introduced first implementation of classes G4ReflectedSolid and
G4ReflectionFactory for reflections of positioned volumes based
on simple CSG solids.
o Introduced G4BOOLDEBUG flag and relaxed G4Exception calls with
warnings to G4cerr for rare occurences of anomalous conditions.
- solids/BREPS:
o Fix in G4BSplineCurve::Init() for initialisation of point vector.
o G4BREPSolidPolyhedra.cc: fixed situation when phi1 = 0 dphi1 = 2*pi
and all RMINs = 0.0. In this case the inner planes are not created.
- solids/CSG:
o G4Sphere: bug fix in SurfaceNormal() for the case kNETheta.
- solids/STEP & STEPinterface:
o SdaiCONFIG_CONTROL_DESIGN.cc: cleaned up warnings issued on SUN-CC.
o dirobj.cc: restored usage of strdup() and forced non-ANSI setup.
o Fixes for compilation on gcc-2.96.98 and gcc-3.0.2 compilers.
o G4Axis2Placement3dCreator::CreateG4Geometry(): added check to
attribute validity for 'direction'.
- Cleared compilation warnings on gcc-2.95.2 compiler.
- Fixes to comply with removal of STLInterface.
o Global:
------
- Introduced G4ReferenceCountedHandle templated class.
- Modified G4Exception behavior, now setting G4StateManager to
"abort" state instead of aborting the application.
- Removed STLinterface module:
o renamed cstring[.h.icc] to G4String[.hh.icc].
o renamed ctoken.h to G4Tokenizer.hh.
o Graphics Representations:
------------------------
- Added G4Scale class.
- Added G4Polyline::transform.
- Cleared compilation warnings on gcc-2.95.2 compiler.
o Hadronic Processes:
------------------
- Doppler broadening of low energy neutron cross-sections on the fly,
enabling to simulate setups with mixed temperatures from 0K data files.
- First release of chiral invariant phase-cpace decay.
Usable now for electron and gamma nuclear reactions, and for pi-
and anti-proton absorption. Also a cascade back-end replacement for
string models.
- First release of specialized models for neutron and proton scattering
off Hydrogene, with particular focus on recoils.
- First release of the evaporation and utilities parts of the HETC
re-write.
- Optimized memory usage of the neutron_hp transport code (gained an
integer factor)
- Maximized robustness: system tests now at O(5000) LHC event of hadronic
energy flow; large-N tests with about a factor 100 more statistics.
- Addition of gamma nuclar and electro nuclear reaction cross-sections.
- Checking for tracking consistancy.
- Added possibility to activate models for single elements/materials in
one call
- Now calling ResetNumberOfInteractionLengthLeft() rather than
ClearNumberOfInteractionLengthLeft().
- Enabled logging in various places.
- Fix for final state rotation from z; this can be done in general in
the hadronic process framework layer.
- Added G4PhotoNuclearProcess, G4PositronNuclearProcess, and
G4ElectronNuclearProcess.
- Optimised sampling of gaussian distributions.
- Fixed a missing initialization of strangeness in the high energy
models.
- Fixed the particle production for low energy light ion reactions.
- Bug fix for beta+ decay in radioactive decay (corrected Q-value).
- Bug-fix in neutron induced isotope production code to allow for mixtures.
- Bug-fix in the vector hash to allow for re-use of the hash tables.
- Getting rid of the strstream portability problem between SUN and Linux.
- Some conservative programming in the sampling vector, to allow for
binary re-use of the hash.
- Minor bug fix on gamma distributions in very special cases (yields and
integral energy was correct, but distribution had a slight bias before).
- Fix on elastic scattering final states: getting rid of a bias that was
there for a particular data representation. Affects Xenon.
- Fix for inelastic n->b+m*gamma channel; for the case of 4 gammas in the
final state, the mass of the recoil was of by one under certain condition.
(Mildly relevant for activation when simulating earth.)
- Fix in Names finding for scattering off Hydrogen.
- New calculation for compound radius in coulomb barrier calculation.
- Reduced default vector size.
- Added delete structs to the vectors.
- Getting rid of the E-11ev gamma problem, and a few memory leaks
introduced in the STL transition.
- Templated qgs models with the type of participants to enable heavy ion
collision simulation; heavy ion participants still to be fixed for
impact of fermi momentum.
- qgs model now also for kaons.
- Enabled 'meson' splitting for incident gammas in quark gluon string
model.
- First tuning of pomeron trajectory and vertex parameters for incident
gammas, assuming vector meson dominance; based on total reaction
cross-section only; further improvement scheduled.
- Fixed minimum mass constraint on string fragmentation in the
presence of zeitgleiche multiple and multi pomoron exchange, and
diffractive collisions.
- Design iteration on string fragmentation.
- Traced an elusing charge non-conservation to isotopic composition of
Hydrogene, which is taken care of internally.
- Bug-fix for splitting Omega- into partons.
- Added transformation in pre-equilibrium decay.
- Enabled tracing of colour, spin and iso-spin in the parton.
- Some improvement on folding two resonance collision cross-section.
- Cleared most compilation warnings and minor fixes for gcc-2.95.2 compiler.
- Fixes to comply with removal of STLInterface.
o Materials:
---------
- G4Isotope, G4Element, G4Material: IndexInTable is now obtained
dynamically via GetIndex().
- Added new function G4Materials::SetChemicalFormula().
- Fixed problems erasing when deleting Isotope, Element or Material objects.
- Fixed memory leak in G4SandiaTable::ComputeMatSandiaMatrix(),
for deletion of temporary vectors Z, tmp1, tmp2.
- Moved definitions of G4IsotopeVector and G4ElementVector
G4ElementTable and G4MaterialTable to the appropriate headers.
- Removed static inline methods to non-inline.
- Cleared compilation warnings on gcc-2.95.2 compiler.
- Fixes to comply with removal of STLInterface.
o Particles:
---------
- Introduced G4NeutronBetaDecayChannel and added to G4Neutron.
- Allow MassDifference in case of nucleon decay.
- Fixed bug in copy constructor of G4DecayProduct.
- Introduced changes to allow multiple cuts per material (temporary).
- Removed static inline methods to non-inlined.
- Cleared compilation warnings and minor fixed for gcc-2.95.2 compiler.
- Fixes to comply with removal of STLInterface.
o Persistency:
-----------
- Fixes to comply with removal of STLInterface.
- Fixed porting problems on gcc-2.95.2.
o Run, Intercoms and Interfaces
-----------------------------
- run:
o Added new feature allowing to increase the number of waiting stacks.
o Added Set/GetApplyCuts methods in G4VUserPhysicsList.
o Added /run/particle/applyCuts command in G4UserPhysicsListMessenger.
o Added GetVersionString() method to G4RunManager.
o Added rndmSaveThisRun() and rndmSaveThisEvent() methods to G4RunManager.
o Added /random/ commands to G4RunMessenger.
o Fixed bugs in G4VUserPhysicsList.
- intercoms:
o Introduced feature for suppressing the program abortion due to
G4Exception.
o Introduced "Shell variables" for UI command handling. Added
class G4UIaliasList.
o Introduced loop execution of a macro file, recursive expansion of
aliased variables, and some other new features in G4UImanager and
related classes.
New commands: /control/shell, /control/foreach, /control/loop,
/control/createHTML.
o Added G4VGraphicsScene::AddPrimitive(const G4Scale&).
o Added G4VisManager::Draw(const G4Scale&,...).
o Modified G4UIbatch to display (G4cerr) the error message.
Comment lines are now displayed only for verbose level=2.
o Included correction for string parameter starting with a space.
o Fixed parsing of quoted (") tokens.
o Fixed a problem for commands with doubled slash.
- interfaces:
o Re-engineered G4UI variables:
changed GNUmakefile so that GAG, TERMINAL and TCSH built by default.
Nothing built if G4UI_NONE is set.
o G4VInteractorManager::RemoveDispatcher : change the remove logic in
order to fix a disfunctionning with vis/OpenInventor driver.
- Cleared compilation warnings on gcc-2.95.2 compiler.
- Fixes to comply with removal of STLInterface.
o Tracking & Track:
----------------
- track:
o Fixed bug for velocity in method G4Step::UpdateTrack().
o Implemented assignment operator for G4ParticleChangeForRadDecay.
o Fixed bug in assignment operator of G4Track.
o Removed static inline methods to non inline.
- tracking:
o Added protection for tracks placed outside the world volume
at the initial point.
o Correction to the use the touchable Handle for secondary tracks,
when it is available. Now the direction is used in locating a particle
(primary or secondary) in SetInitialStep(). This is in order to assist
in starting particles that are on/near-to boundaries in the correct
volume.
- Introduced changes for reference-counted touchables mechanism.
- Cleared compilation warnings on gcc-2.95.2 compiler.
- Fixes to comply with removal of STLInterface.
o Transportation:
--------------
- Motivated by the use case of an Electric Field, in order to achieve
reasonable accuracy in time integration, and to enable fields that
vary with the global time:
o G4Transportation now try obtaining the delta_time from G4FieldTrack.
- Introduced changes to G4Transportation for reference-counted touchables.
Added methods GetFreeTouchable() and SetTheOtherTouchableFree().
- Added protection in G4Transportation::AlongStepGPIL for messaging
"ResestStepEstimate" of G4ChordFinder for the case there is no global
field.
o Visualization:
-------------
- Introduced new HepRep graphics driver.
- Removed the need to specify environment variables for visualization
drivers which do not need external packages or libraries.
- Removed old-style commands.
- Added commands:
o /vis/scene/add/scale
o /vis/viewer/flush = refresh + update.
o /vis/viewer/set/upThetaPhi and upVector.
o refresh|flush option to /vis/scene/notifyHandlers.
- Moved /vis/viewer/lights and viewpoint to /vis/viewer/set.
- Added G4ScaleModel.
- Added G4VModel::SetExtent(const G4VisExtent&).
- Added G4VisManager::Draw(const G4Scale&,...).
- Added template graphics system XXX.
- Re-implemented verbosity control. Output statements wherever possible
are controlled by the verbosity in a simple graded message scheme.
- Improved auto-refreshing.
- Force rebuild of graphics "stores" (graphical databases) and,
if auto-refresh is true, refresh of all views
(/vis/scene/notifyHandlers) after an addition to scene.
- Eliminated view parameters from G4VisManager.
Paramenters can be copied from one view to another with:
/vis/viewer/set/all
- Updated G4RTJpegMaker for porting Windows systems.
- OpenInventor : move HEPVis/SoWindow under vis/OpenInventor/G4SoWindow
to prepare HEPVis/6.0. (HEPVis/SoWindow will disappear from HEPVis/6.0).
- Fixed crash in optimised mode: added Initialise() to viewers so
that windows are opened after viewers are fully constructed.
- Corrected mistake which could cause crash if user specified a
non-existent scene handler in /vis/sceneHandler/remove.
- Fix for replica rotation matrix. It Fixes observed crashes in replica
tracking with visualisation.
- Fixed bug in G4VSceneHandler::AddPrimitive(const G4Scale&).
- Fixed bug in G4VisManager::EndOfEvent.
- Added README.quick, a quick installation guide.
- Improved verbosity guidance and READMEs.
- Cleared compilation warnings on gcc-2.95.2 compiler.
- Fixes to comply with removal of STLInterface.
o G4toG4 Tool:
-----------
- Implemented reflection of CSG solids through G4ReflectionFactory
class and G4ReflectedSolid. Added G3G4_NO_REFLECTION flag to exclude
it if needed for cases not yet covered.
- Added limited support for MANY volumes through adoption of boolean solids.
- Changed G3Division::CreatePVReplica() to return a G4PhysicalVolumesPair.
- Cleared compilation warnings on gcc-2.95.2 compiler.
- Fixes to comply with removal of STLInterface.
o Examples:
--------
- Novice:
o updated visualization macros.
o updated vis-managers.
- Extended:
o new electromagnetic example "TestEm10" for exercising
specific parameterisation models.
o new examples for electro-magnetic field: field01, field02, field03.
o updated vis-managers.
- Advanced:
o underground_physics: new example for simulation of an underground
dark matter experiment.
o xray_fluorescence: new simulation setup for the study the elemental
composition of a planet through the measurement of the X-rays emitted.
o new improved versions of existing advanced applications.
- Cleared most compilation warnings on gcc-2.95.2 compiler.
- Fixes to comply with removal of STLInterface.
- Updated reference outputs.
----------------------------------------------------------------------------
Technical Notes
---------------
o Geant4 4.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.
Contents
--------
1. Supported and Tested Platforms
2. ANAPHE and CLHEP
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.7, C++ 5.2 Patch 109508-03.
o Linux, gcc 2.95.2, 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 more recent
RedHat, Debian and Suse distributions.
o NT 4.0 (Service Pack 4) or Windows-2000 and Cygnus Tools b20 with:
Visual C++ 6.0 Service Pack 5
Platforms also tested but giving rise to some problems - see below:
o DEC V4.0, cxx C++ V6.1-027.
Platforms configured but not tested and not supported:
o HP 10.20, aCC C++ B3910B A.01.23
o SGI V6.5.5, CC 7.2.1 with ObjectSpace
o AIX 4.3.2, xlC compiler with ObjectSpace
2. ANAPHE and CLHEP
-------------------
Geant4 4.0 requires the installation of CLHEP.
See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
Tests have been performed with CLHEP 1.7.0.0.
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 specific compilers.
Geant4 4.0 coworks with ANAPHE 3.6.5 and components included therein:
Objectivity 6.1.3
HepODBMS 0.3.3.1
CLHEP 1.7.0.0
For more information about ANAPHE, see: http://cern.ch/anaphe
3. The Standard Template Library
--------------------------------
Native versions of STL have been tested on the following platforms:
Windows/2000, Linux, DEC and SUN.
NOTES:
- Platform specific setup:
o DEC: Native STL is required for ISO/ANSI setup.
o SUN: Native STL is required for ISO/ANSI setup (CC 5.2 only).
o Linux: Native STL is required (non ISO/ANSI setup for egcs compiler only).
o W2000: Native STL and ISO/ANSI setup required (VC++ 6.0).
4. Persistency
--------------
Platform
--------
Persistency in Geant4 4.0 release is tested on the following
platforms:
G4SYSTEM OS C++ compiler HepODBMS Objectivity
--------- ----------- ------------ --------- -----------
SUN-CC SunOS 5.7 CC 5.2 0.3.3.1 6.1.3 (*)
Linux-g++ RedHat 6.1 gcc-2.95.2 0.3.3.1 6.1.3 (#)
(*) HepODBMS header files must be prepared with "ooddlx -noline"
option. See below.
(#) See g4odbms_setup[.sh.csh] in example PersistentEx01 in
'geant4/examples/extended/persistency' for example setup scripts.
Known Problems
--------------
- There are several 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.
- If you are using Solaris7 CC compiler 5.2 (SUN-CC) with the original
release version, persistent header files has to be generated by
ooddlx with "-noline" option due to a bug in C++ compiler.
This workaround applies not only to Geant4 Persistency category but
also to HepODBMS, and the user defined ddl files as well.
This is the default for SUN-CC configuration for Geant4 GNUmakefiles.
When this option is turned on, it removes the "#line" directive of
the file name and the line number of the original .ddl file. As a
consequences, C++ compiler no longer "tells" the correct file name
and the line number of the .ddl file if compiler error occurs. When
you design a persistent object with Geant4 GNUmakefiles and get the
compiler errors, try to identify the problem by first looking into
the header file generated by ooddlx, and then locate the source of
the problem by looking into the .ddl file.
A patch to the compiler is released from SUN, and you may remove this
option by commenting out the line:
G4DDLX_FLAGS += -noline
in the file $G4INSTALL/config/sys/SUN-CC.gmk.
You can check the SUN-CC patch by the following command:
% what `which CC` | grep RELEASE
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.
6. Known Run-Time Problems and Limitations
------------------------------------------
For a complete list of outstanding run-time problems and to submit any
problem you may find running this version of Geant4, please refer to the
Geant4 Problem Reporting System, available on the Web at this address:
http://cern.ch/geant4/problemreport
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.