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