| 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.
|
|---|