1 | |
---|
2 | Geant4 3.0 Release Notes |
---|
3 | ------------------------ |
---|
4 | |
---|
5 | 15th December 2000 |
---|
6 | |
---|
7 | These are the main new features/fixes included in this release (for the |
---|
8 | detailed list of fixes/additions, please refer to the related History files): |
---|
9 | |
---|
10 | o Analysis |
---|
11 | -------- |
---|
12 | - New module for analysis/histogramming management and concrete |
---|
13 | drivers interfaces through AIDA: JAS, Lizard, OpenScientist. |
---|
14 | |
---|
15 | o Configuration: |
---|
16 | ------------- |
---|
17 | - Added unsupported configuration WIN32-g++ |
---|
18 | for Windows/NT/9X and Cygwin with g++ compiler. |
---|
19 | - Introduced changes to handle analysis module. |
---|
20 | - Incorporated building of shared libraries into .gmk files |
---|
21 | (NOTE: tests on shared libraries currently perfomed only on |
---|
22 | Linux-g++ and SUN-CC platforms) |
---|
23 | o Introduced new variables steering the building of shared/static |
---|
24 | libraries (static still default): G4LIB_BUILD_SHARED and |
---|
25 | G4LIB_BUILD_STATIC. |
---|
26 | o Introduced new variable (G4LIB_USE_GRANULAR) to force using of |
---|
27 | granular libraries. |
---|
28 | - Added rules for "includes" gmake target, to copy all header files |
---|
29 | in a single location specified by $G4INCLUDE path. |
---|
30 | - Introduced SUN-CC5 G4SYSTEM architecture for SUN CC 5.1 compiler. |
---|
31 | |
---|
32 | o Event: |
---|
33 | ----- |
---|
34 | - Added new Set methods to G4PrimaryVertex and G4PrimaryParticle. |
---|
35 | - Introduced ParticleGun for Ions and weights for primary vertex |
---|
36 | and particle: |
---|
37 | o G4ParticleGun: added Set/GetParticleCharge methods for ions. |
---|
38 | o G4ParticleGunMessenger: added new command of /gun/ion; |
---|
39 | modified command of /gun/particle. |
---|
40 | o G4PrimaryParticle: add Set/GetCharge methods, added weight. |
---|
41 | o G4PrimaryVertex: added weight. |
---|
42 | o G4PrimaryTransformer: use G4PrimaryParticle::GetCharge to give |
---|
43 | dynamic charge in G4DynamicParticle; set weight of G4Track. |
---|
44 | - Introduced G4GeneralParticleSource and related classes. |
---|
45 | G4GeneralParticleSource is an alternative primary source |
---|
46 | generator to G4ParticleGun. It has all the functions of |
---|
47 | G4ParticleGun plus many options for specifying the primary |
---|
48 | event particle and vertex. |
---|
49 | |
---|
50 | o Electromagnetic Processes (Low-energy): |
---|
51 | -------------------------------------- |
---|
52 | - Bug fix to G4hLowEnergyIonisation, relevant for particles |
---|
53 | with absolute charge value greater than 1. |
---|
54 | - Bug fix on electron energy loss fluctuations. |
---|
55 | - New features on antiproton ionisation, extending the model for |
---|
56 | application to generic materials. |
---|
57 | - Modifications in hadron classes (renaming of classes). |
---|
58 | - Bug fix related to the charge dependence of ion fluctuations. |
---|
59 | - Fixes to G4LowEnergyUtilities to replace the obsolete HepString |
---|
60 | with G4String. |
---|
61 | - Bug fixes for problems found on setting cuts. |
---|
62 | - Bug fix for nuclear stopping table name, improvements in |
---|
63 | code quality and added comments for the Software Reference Manual. |
---|
64 | |
---|
65 | o Electromagnetic Processes (Standard): |
---|
66 | ------------------------------------ |
---|
67 | - G4eBremsstrahlung : new cross section and energy-loss parametrisation. |
---|
68 | - Update to G4VhEnergyLoss.cc, G4VhEnergyLoss.hh, G4hIonisation.cc |
---|
69 | in order to simulate energy losses of ions; correction to cross |
---|
70 | section for particles with spin 1. |
---|
71 | - Removed class G4ionIonisation. |
---|
72 | - Fix in G4VhEnergyLoss and G4ionIonisation in AlongStepDoIt |
---|
73 | for particles with Charge^2 > 1. |
---|
74 | - Stopped very low energy photons in photo electric effect. |
---|
75 | - Moved ElossMessenger to G4VEnergyLoss. |
---|
76 | - Bug fix in G4Cerenkov and G4Scintillation: corrected usage of |
---|
77 | the 'step length' to position the origins of secondaries. |
---|
78 | - Corrections on Polarized Compton: |
---|
79 | o Sampling of Phi |
---|
80 | o Depolarization probability |
---|
81 | - G4IeBremsstrahlung: |
---|
82 | o new cross section/en.loss parametrisation, LPM flag. |
---|
83 | o corrections in the LPM implementation. |
---|
84 | - Changed signature in GetLossWithFluct. |
---|
85 | - G4EnergyLossMessenger: created subdirectory /process/eLoss. |
---|
86 | Added class description for Software Reference Manual. |
---|
87 | - EnergyLossTable: use "const G4Material*" where required. |
---|
88 | - Introduced correction to G4Cerenkov to fix a problem when |
---|
89 | an optical medium has refraction indices all equal to 1. |
---|
90 | |
---|
91 | o General Processes, Parameterisation, Decay, Optical: |
---|
92 | --------------------------------------------------- |
---|
93 | - Bug fix in G4Decay to avoid direct modification of G4Track by |
---|
94 | the Decay process. |
---|
95 | - Fixed bugs in G4ProcTblElement::operator= |
---|
96 | - Removed destruction of processes in G4ProcessTable destructor. |
---|
97 | - Implemented full STL migration in G4ProcessVector. |
---|
98 | - Added thePILfactor and GPIL methods in G4VProcess. |
---|
99 | - Added Store/RetrievePhysicsTable() methods. |
---|
100 | |
---|
101 | o Geometry: |
---|
102 | -------- |
---|
103 | QA code cleanup. Cleanup warnings issued by "-Wall -ansi -pedantic" |
---|
104 | g++ compiler options. |
---|
105 | - Boolean solids: |
---|
106 | o G4SubtractionSolid.cc: relaxed behavior in SurfaceNormal(p), |
---|
107 | where it is now allowed for a point to be inside the solid. |
---|
108 | A message is thrown to cerr instead of a G4Exception. |
---|
109 | o Added new set methods for matrix/vectors to G4DisplacedSolid: |
---|
110 | SetTransform(G4AffineTransform&), |
---|
111 | SetDirectTransform(G4AffineTransform&), |
---|
112 | SetFrameRotation(const G4RotationMatrix&), |
---|
113 | SetFrameTranslation(const G4ThreeVector&), |
---|
114 | SetObjectRotation(const G4RotationMatrix&), |
---|
115 | SetObjectTranslation(const G4ThreeVector&). |
---|
116 | - BREPS solids: |
---|
117 | o Fix in G4Ellipse::Project() for computation of u as function |
---|
118 | of atan2(). |
---|
119 | o Changed return value to be "const" pointer to functions: |
---|
120 | - G4BREPSolid::GetPlace() |
---|
121 | - G4BREPSolid::GetBBox() |
---|
122 | o G4Assembly: fix in destructor, added call to clearAndDestroy(). |
---|
123 | o G4BREPSolid: changed method NumberOfFaces() to GetNumberOfFaces(). |
---|
124 | o G4Curve: fixed obsolete workaround for XlC compiler. |
---|
125 | o G4OsloMatrix: changed internal class "Matrix" to "G4PointMatrix" |
---|
126 | and updated classes making use of it. |
---|
127 | o G4ThreeMat:removed unused overloaded operators =, +, -, +=, -=, *. |
---|
128 | - CSG solids |
---|
129 | o Fix to G4Tubs and G4Cons in DistanceToIn/DistanceToOut: |
---|
130 | + fixes to DistanceToOut(p,v,...) to make roots of quadratic |
---|
131 | equations more stable. |
---|
132 | + added check against negative distance returned. |
---|
133 | o Fixes to G4Cons: |
---|
134 | + corrected condition on conical surface to consider a real |
---|
135 | projection of the conical surface thickness on XY plane |
---|
136 | (0.5*kCarTolerance*secRMin instead of 0.5*kCarTolerance), |
---|
137 | when dealing with cons with large opening angle. |
---|
138 | + fix in constructor to check if one of the Rmin different than 0, |
---|
139 | to avoid degenerated cones. |
---|
140 | o G4Torus: introduced Newton-based numerical method for computing |
---|
141 | roots of equations in DistanceToIn() and DistanceToOut(). |
---|
142 | o Bug fixed in G4Tubs::Inside(p) for analysis of phi positioning |
---|
143 | when on +-fDz surface. |
---|
144 | o Fix in G4Tubs::DistanceToOut(p,v,...): initialised sr and sphi to |
---|
145 | kInfinity and re-introduced additional condition on check for |
---|
146 | Rmin intersection (t2 >= 0). |
---|
147 | - Specific solids: |
---|
148 | o Fix in G4IntersectingCone.cc: the check for a zero radical has been |
---|
149 | adjusted to be less sensitive to round off error in LineHitsCone1(), |
---|
150 | LineHitsCone2(). |
---|
151 | - STEP |
---|
152 | o dirobj.h: protected from missing definition of MAXNAMLEN, S_IFMT |
---|
153 | and S_IFDIR originally defined in /usr/include/sys/stat.h. |
---|
154 | - STEPinterface |
---|
155 | o Added GetInstanceManager() method to G4GeometryCreator. |
---|
156 | o Changed return value to "const char*" to method Name() and made |
---|
157 | post-const in all creator classes. |
---|
158 | o Fix in G4Axis2Placement3dCreator::CreateSTEPGeometry(void*). |
---|
159 | - Magnetic Field |
---|
160 | o Fix in G4FieldManager: added check on existence of allocated |
---|
161 | fChordFinder in CreateChordFinder(G4MagneticField*) method. |
---|
162 | o Changed return value to be "const" pointer to functions: |
---|
163 | + G4EquationOfMotion::GetFieldObj() |
---|
164 | + G4FieldManager::GetDetectorField() |
---|
165 | + G4MagIntegratorDriver::GetStepper() |
---|
166 | o Fixed and corrected signature to G4MagIntegratorDriver::SetHmin(). |
---|
167 | - Management |
---|
168 | o Fixed bug in destructor of G4SolidStore. Memory corruption at |
---|
169 | application exit was occuring when Boolean solids were involved. |
---|
170 | o Fix in G4VSolid::CalculateClippedPoligonExtent(): |
---|
171 | removed assumption that pMin<pMax by eliminating "else" |
---|
172 | condition. |
---|
173 | - Volumes |
---|
174 | o Changed return value to be "const" pointer to functions: |
---|
175 | - G4LogicalBorderSurface::GetVolume1() |
---|
176 | - G4LogicalBorderSurface::GetVolume2() |
---|
177 | - G4LogicalSkinSurface::GetLogicalVolume() |
---|
178 | |
---|
179 | o Global: |
---|
180 | ------ |
---|
181 | - Moved G4VStateDependent and G4StateManager classes into |
---|
182 | global/management from intercoms. |
---|
183 | - Added "Abort" state is added G4ApplicationState. |
---|
184 | - Modified G4Exception to change Geant4 status to "Abort". |
---|
185 | - Bug fix of "double deleting" in the destructor of G4StateManager. |
---|
186 | - Defined G4RandGauss to invoke CLHEP's RandGaussQ, |
---|
187 | needed to fix general events' reproducibility problem. |
---|
188 | - Added STL wrapper for in management/include/g4std. |
---|
189 | - QA code cleanup from Code-Wizard and warnings issued by |
---|
190 | "-Wall -ansi -pedantic" g++ compiler options. |
---|
191 | |
---|
192 | o Hadronic Processes: |
---|
193 | ------------------ |
---|
194 | - General update of source code documentation. |
---|
195 | - management |
---|
196 | o Introduced the possibility for cross-section biasing. |
---|
197 | - util |
---|
198 | o Added G4Pair class as utility (to be replaced with stl in due course) |
---|
199 | o Added protection to G4ReactionDynamics in case no secondary has been |
---|
200 | created. |
---|
201 | - high_energy |
---|
202 | o Fixed bug causing energy non-conservation in pion interactions. |
---|
203 | o Code cleanup. |
---|
204 | - neutron_hp |
---|
205 | o Added several protections against non-physical cross-section values |
---|
206 | removed 'const' in operator+ of G4NeutronHPVector to work around |
---|
207 | compiler inconsistencies. |
---|
208 | o Removed 'const' in GetXsec(G4int i) of G4NeutronHPVector to work |
---|
209 | around compiler inconsistencies. |
---|
210 | o Introduced self-hashing has table to optimize initialization and |
---|
211 | run-time performance (factor 4 in init, 2 at run-time) |
---|
212 | o Introduced correct treatment of compound cross-sections |
---|
213 | full event by event correlations in Capture below 100 keV regardless |
---|
214 | the data quality |
---|
215 | o Correction of a Q-value miscalculation in exceptional conditions in |
---|
216 | Capture |
---|
217 | o Added Protections in case no photon energies given in the capture |
---|
218 | data. |
---|
219 | o Fixed error in accessing gamma level 49 in n->ngamma inelastic channel |
---|
220 | o Added recoil production to several inelastic channels |
---|
221 | o Added protections in cases interpolations between expansions in terms |
---|
222 | of legendre polynomials lead to non-physical cross-section integrals. |
---|
223 | - radiative_decay |
---|
224 | o Fix to const-ness of G4DynamicParticle to co-work with latest changes |
---|
225 | in 'track' module. |
---|
226 | o Code correction in integration of Fermi beta functions. |
---|
227 | - diffractive_string |
---|
228 | o Updated sampling of impact parameter for re-use. |
---|
229 | - kinetic_model |
---|
230 | o Fixed a memory leak |
---|
231 | o Added protection in case to pre-compound phase was registered |
---|
232 | - management(gen) |
---|
233 | o Added impact parameter sampling possibility to G4V3DNucleus. |
---|
234 | - quark_gluon_string |
---|
235 | o Fixed memory leak in G4SPBaryon and G4SPBaryonTable |
---|
236 | o Introduced improved of low energy cut-off for string creation |
---|
237 | o Updated sampling of impact parameter for re-use |
---|
238 | - string_fragmentation |
---|
239 | o Design iteration to allow for use of quark molecular dynamics. |
---|
240 | - util |
---|
241 | o Updated G4Parton to allow for use of quark molecular dynamics. |
---|
242 | o Bug-fix in Lorentz boost in G4Fancy3DNucleus |
---|
243 | o Added protection of G4Fragment against negative excitation energies |
---|
244 | o Fixed memory leaks in G4KinetiTrack |
---|
245 | - pre_equilibrium |
---|
246 | o Design iteration |
---|
247 | o Update of barrier penetration factors |
---|
248 | - string_common |
---|
249 | o Design iteration to allow for usage of quark molecular dynamics. |
---|
250 | |
---|
251 | NOTE: the consistent data sets for photon evaporation and radio-active |
---|
252 | decay (derived from the same version of the ENSDF data) are |
---|
253 | provided from Web in the source download area. A previous version |
---|
254 | of photon evaporation data is also provided. |
---|
255 | |
---|
256 | o Interfaces: |
---|
257 | ---------- |
---|
258 | - Modified G4UIterminal, G4VUIshell, G4UIcsh and G4UItcsh to display |
---|
259 | the break status as a prompt characters. |
---|
260 | - Minor fixes in G4VInteractorManager and G4VUIShell. |
---|
261 | |
---|
262 | o Materials: |
---|
263 | --------- |
---|
264 | - Fixed initialization of pointers in G4SandiaTable constructor |
---|
265 | and corrected deletion of fPhotoAbsorptionCof in destructor. |
---|
266 | |
---|
267 | o Parameterisations |
---|
268 | ----------------- |
---|
269 | - New top category for specific parameterisation models: |
---|
270 | G4FoamXrayTRmodel, G4GamDistrXrayTRmodel, G4IrregularXrayTRmodel, |
---|
271 | G4PAIclusterModel, G4PhotoClusterModel, G4PlateIrrGasXrayTRmodel, |
---|
272 | G4RegularXrayTRmodel, G4VClusterModel, G4VXrayTRmodel. |
---|
273 | |
---|
274 | o Particles: |
---|
275 | --------- |
---|
276 | - Added const to G4DynamicParticle::GetPreAssignedDecayProducts. |
---|
277 | - Added method G4IonTable::GetElementNumber. |
---|
278 | - Added neutron life time. |
---|
279 | - Fixed stable flag for G4PionMinus. |
---|
280 | |
---|
281 | o Run and Intercoms: |
---|
282 | ----------------- |
---|
283 | - Modified G4RunManager and G4RunMessenger: eliminated |
---|
284 | G4StateManager::Pause(). |
---|
285 | - Made G4UImanager state dependent. |
---|
286 | - Added Retrieve/StorePhysicsTable() and related methods in |
---|
287 | G4VUserPhysicsList and modified BuildPhysicsTable() method. |
---|
288 | - Added store/retreivePhysicsTable command in |
---|
289 | G4UserPhysicsListMessenger. |
---|
290 | - Moved default place for storing random number status out of main |
---|
291 | directory. |
---|
292 | - Added G4VModularPhysicsList and G4VPhysicsConstructor |
---|
293 | to modularize UserPhysicsList. |
---|
294 | - Fixed bug in G4VUserPhysicsList::StorePhysicsTable(). |
---|
295 | |
---|
296 | o Tracking & Track: |
---|
297 | ---------------- |
---|
298 | - Added protection when PiMinusAbsorptionAtRest and Decay processes |
---|
299 | are deactivated. |
---|
300 | - Bug fixes in copy constructor of G4ParticleChange. |
---|
301 | - Added "const" to G4DynamicParticle pointer of returned value of |
---|
302 | G4Track::GetDynamicParticle |
---|
303 | |
---|
304 | o Visualization: |
---|
305 | ------------- |
---|
306 | - Fixed bug in /vis/lights/direction to not refresh view. |
---|
307 | - G4PhysicalVolumeModel: added protection against volumes without |
---|
308 | material. |
---|
309 | - Removed /vis/viewer/update from compound commands /vis/drawVolume |
---|
310 | and /vis/specify. |
---|
311 | |
---|
312 | o G4toG4 Tool: |
---|
313 | ----------- |
---|
314 | - Moved tests clGeometry and cltog4 from source/g3tog4/test to |
---|
315 | examples/extended/g3tog4. Default build mechanism is now used. |
---|
316 | - Bug-fix in destructor for G3RotTable. |
---|
317 | - Added handling of ELTU (Elliptical Tube) solid. |
---|
318 | - Fixed initialisation of pDPhi for CONS in G3toG4MakeSolid.cc. |
---|
319 | - G4PhysicalVolumeModel: added protection against volumes without |
---|
320 | material. |
---|
321 | - Added protection against multiple positiong of the same physical |
---|
322 | volume and added methods ClearG3PosCopy(G4int) and ClearDivision() |
---|
323 | in G3VolTableEntry . |
---|
324 | - Removed useless G3toG4Debug global method and file. |
---|
325 | Replaced verbosity by G3G4DEBUG flag. |
---|
326 | - Removed obsolete class/files G3CalcParams[.hh.cc]. |
---|
327 | |
---|
328 | - Examples: |
---|
329 | -------- |
---|
330 | o New "advanced" examples for specific applications: |
---|
331 | xray_telescope, brachyterapy and gammaray_telescope. |
---|
332 | |
---|
333 | Notes: |
---|
334 | |
---|
335 | o Geant4 3.0 is based on STL and can be installed with strict |
---|
336 | ISO/ANSI C++ compliant setup or not. See notes below. |
---|
337 | |
---|
338 | The code and some binary libraries are available through our "Source |
---|
339 | Code" Web page: |
---|
340 | - see our Geant4 Home Page (http://cern.ch/geant4). |
---|
341 | |
---|
342 | Please refer to the Geant4 User Documentation |
---|
343 | (http://cern.ch/geant4/G4UsersDocuments/Overview/html) |
---|
344 | for further information about using Geant4. |
---|
345 | Updates to the documentation for Geant4 3.0 are expected to be published as |
---|
346 | usual within three weeks from the release date. |
---|
347 | |
---|
348 | |
---|
349 | Contents |
---|
350 | -------- |
---|
351 | |
---|
352 | 1. Supported and Tested Platforms |
---|
353 | 2. ANAPHE and CLHEP |
---|
354 | 3. The Standard Template Library (STL) |
---|
355 | 4. Persistency |
---|
356 | 5. Compiler Specific Problems |
---|
357 | 6. Known Run-Time Problems |
---|
358 | 7. Compilation Warnings |
---|
359 | 8. Known Run-Time Warnings |
---|
360 | |
---|
361 | |
---|
362 | 1. Supported and Tested Platforms |
---|
363 | --------------------------------- |
---|
364 | |
---|
365 | o SUN Solaris 5.6/5.7, C++ 4.2 Patch 104631-04, C++ 5.1 Patch 109490-01. |
---|
366 | o HP 10.20, aCC C++ B3910B A.01.23 |
---|
367 | o Linux 2.2.12-20, gcc C++ egcs-2.91.66 (egcs 1.1.2). |
---|
368 | This configuration was tested with the RedHat 6.1 distribution, but |
---|
369 | versions of Geant4 have also been compiled successfully on Debian |
---|
370 | and Suse distributions. |
---|
371 | o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with: |
---|
372 | Visual C++ 6.0 Service Pack 2 |
---|
373 | |
---|
374 | Platforms also tested but giving rise to some problems - see below: |
---|
375 | |
---|
376 | o DEC V4.0, cxx C++ V6.1-027. |
---|
377 | |
---|
378 | Platforms configured but not tested and not supported: |
---|
379 | o SGI V6.5.5, CC 7.2.1 with ObjectSpace |
---|
380 | o AIX 4.3.2, xlC compiler with ObjectSpace |
---|
381 | |
---|
382 | |
---|
383 | 2. ANAPHE and CLHEP |
---|
384 | ------------------- |
---|
385 | |
---|
386 | Geant4 3.0 requires the installation of CLHEP. |
---|
387 | |
---|
388 | See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html). |
---|
389 | Tests have been performed with CLHEP 1.6.0.0. |
---|
390 | |
---|
391 | By default, the CLHEP installation scripts will activate ISO/ANSI C++ features |
---|
392 | if the compiler is capable. You need to explicitly disable CLHEP settings in |
---|
393 | case you wish non-ISO/ANSI setup on specific compilers (for example, DEC). |
---|
394 | |
---|
395 | Geant4 3.0 coworks with ANAPHE 3.2.0 and components included therein: |
---|
396 | Objectivity 5.2.1 |
---|
397 | ObjectSpace 2.1 |
---|
398 | HepODBMS 0.3.1.4 |
---|
399 | CLHEP 1.6.0.0 |
---|
400 | |
---|
401 | For more information about ANAPHE see: http://cern.ch/anaphe |
---|
402 | |
---|
403 | |
---|
404 | 3. The Standard Template Library |
---|
405 | -------------------------------- |
---|
406 | |
---|
407 | The following versions of STL have been tested: |
---|
408 | |
---|
409 | ObjectSpace STL on |
---|
410 | DEC, HP and SUN (CC 4.2). |
---|
411 | |
---|
412 | See ObjectSpace (http://www.objectspace.com). |
---|
413 | |
---|
414 | "Native" STL on: Windows/NT, Linux, HP, DEC and SUN (CC 5.1). |
---|
415 | |
---|
416 | This is selected at installation/compile time by the environment variable |
---|
417 | G4USE_OSPACE in the case of the former - see documentation. |
---|
418 | |
---|
419 | NOTES: |
---|
420 | - Be aware that by default, the installation scripts will expect to use |
---|
421 | the native STL implementation. You must set the G4USE_OSPACE variable |
---|
422 | in the environment in order to select the ObjectSpace implementation. |
---|
423 | |
---|
424 | - Platform specific setup: |
---|
425 | o DEC: ObjectSpace is required in non ISO/ANSI setup. |
---|
426 | Native STL is required for ISO/ANSI setup. |
---|
427 | o HP: either ObjectSpace or native STL can be used (non ISO/ANSI setup). |
---|
428 | o SUN: ObjectSpace is required in non ISO/ANSI setup (CC 4.2). |
---|
429 | Native STL is required for ISO/ANSI setup (CC 5.1 only). |
---|
430 | o Linux: Native STL is required (non ISO/ANSI setup). |
---|
431 | o NT: Native STL and ISO/ANSI setup required. |
---|
432 | |
---|
433 | In the interest of stability, part of the code in Geant4 3.0 still makes use |
---|
434 | of the "STL Interface" wrapper classes, used for allowing the migration from |
---|
435 | Rogue Wave Tools.h++ container library. For these the emphasis has remained |
---|
436 | on correct behaviour, rather than performance. |
---|
437 | |
---|
438 | |
---|
439 | 4. Persistency |
---|
440 | -------------- |
---|
441 | |
---|
442 | Platform |
---|
443 | -------- |
---|
444 | |
---|
445 | Persistency in Geant4 3.0 release is tested on the following |
---|
446 | platforms: |
---|
447 | |
---|
448 | G4SYSTEM OS C++ compiler HepODBMS Objectivity |
---|
449 | --------- ----------- ------------ --------- ----------- |
---|
450 | SUN-CC SunOS 5.6 CC 4.2 0.3.1.4 5.2.1 |
---|
451 | SUN-CC5 SunOS 5.7 CC 6.0 0.3.2.3 (*) 6.0 (*) |
---|
452 | Linux-g++ RedHat 6.1 egcs-2.91.66 0.3.1.4 5.2.1 |
---|
453 | |
---|
454 | (*) HepODBMS header files must be prepared with "ooddlx -noline" option. |
---|
455 | See below. |
---|
456 | |
---|
457 | Known Problems |
---|
458 | -------------- |
---|
459 | |
---|
460 | - There are several warning messages on some platforms during the |
---|
461 | installation of the libraries and the compilation of the examples. |
---|
462 | Most of them can be safely ignored. It is annoying but hard to get |
---|
463 | rid of them due to various reasons. |
---|
464 | |
---|
465 | - A warning message "Could not find naming root directory" appears at |
---|
466 | runtime of the persistency examples. It is generaged by HepDbApplication |
---|
467 | in HepODBMS. It can be ignored. |
---|
468 | |
---|
469 | - On Solaris7 (SUN-CC5), persistent header files has to be generated by |
---|
470 | ooddlx with "-noline" option to work around a bug in C++ compiler. |
---|
471 | This workaround applies not only to Geant4 Persistency category but |
---|
472 | also to HepODBMS, and the user defined ddl files as well. This option |
---|
473 | removes the "#line" directive of the file name and the line number of |
---|
474 | the original ddl file. As a consequences, C++ compiler no longer |
---|
475 | "tell" the correct file name and the line number of the ddl file if |
---|
476 | compiler error occurs. Try to identify the compiler error by first |
---|
477 | looking into the header file generated by ooddlx, and then locate the |
---|
478 | source of the problem by looking into the ddl file. |
---|
479 | A patch to the compiler is expected from Sun. |
---|
480 | |
---|
481 | |
---|
482 | 5. Compiler Specific Problems |
---|
483 | ----------------------------- |
---|
484 | |
---|
485 | o DEC V4.0, cxx C++ V6.1-027. |
---|
486 | |
---|
487 | - We have found cases of mis-compilation of min and max templates |
---|
488 | on DEC. We have traced those which cause serious malfunction |
---|
489 | but there is no guarantee that there are no other cases. |
---|
490 | Detailed inspection of assembler output suggests that this |
---|
491 | problem might not be confined to min and max. This has been |
---|
492 | reported to DEC/Compaq. We understand a new version 6.2 of the |
---|
493 | compiler is now available. However we cannot guarantee correct |
---|
494 | execution of Geant4 on DEC with the current version of the |
---|
495 | compiler. |
---|
496 | - A bug in cin.getline() system function causes an anomalous |
---|
497 | behavior when running in interactive-mode on DEC-cxx 6.1 in |
---|
498 | ISO/ANSI mode. We tested the bug has been fixed in more recent |
---|
499 | versions of the compiler. |
---|
500 | |
---|
501 | |
---|
502 | 6. Known Run-Time Problems and Limitations |
---|
503 | ------------------------------------------ |
---|
504 | |
---|
505 | For a complete list of outstanding run-time problems and to submit any |
---|
506 | problem you may find running this version of Geant4, please refer to the |
---|
507 | Geant4 Problem Reporting System, available on the Web at this address: |
---|
508 | |
---|
509 | http://cern.ch/geant4/problemreport |
---|
510 | |
---|
511 | |
---|
512 | 7. Compilation Warnings |
---|
513 | ----------------------- |
---|
514 | |
---|
515 | There are compilation warnings on some platforms. We do not believe |
---|
516 | that any will lead to incorrect run-time behaviour, but we are working |
---|
517 | on reducing them. |
---|
518 | |
---|
519 | |
---|
520 | 8. Known Run-Time Warnings |
---|
521 | -------------------------- |
---|
522 | |
---|
523 | The following messages can be written to error output while tracking. We |
---|
524 | believe none give rise to incorrect behaviour. |
---|
525 | |
---|
526 | o G4PropagateInField: Warning: Particle is looping |
---|
527 | - tracking in field will be stopped. |
---|
528 | It has performed 10000 steps in Field while a maximum of 10000 |
---|
529 | are allowed. |
---|