| 1 |
|
|---|
| 2 | Geant4 1.0 Release Notes
|
|---|
| 3 | ------------------------
|
|---|
| 4 |
|
|---|
| 5 | 7th December 1999
|
|---|
| 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 | - Multiple scattering: fine tuning and fixes for low energy e-;
|
|---|
| 12 | inclusion of nuclear size effect for high energy (e+,e- > 100 MeV,
|
|---|
| 13 | hadrons > 1 GeV);
|
|---|
| 14 | - IonisationPlus: improved code and testing, for electrons and hadrons.
|
|---|
| 15 | - LowEnergy: implemented hadron and ion ionisation; minor fixes in
|
|---|
| 16 | photo electric process.
|
|---|
| 17 | - Xrays: fixes in Cerenkov process.
|
|---|
| 18 | - Created new examples in examples/extended/electromagnetic.
|
|---|
| 19 |
|
|---|
| 20 | o Geometry:
|
|---|
| 21 | - Field: minor fixes, more access to user parameters and clearer warnings;
|
|---|
| 22 | - CSG/Booleans: fixes and more detailed unit tests;
|
|---|
| 23 | - BREPS/STEP: fix to the NIST STEP reader for complex surfaces;
|
|---|
| 24 | - Volumes: first implementation for visualization of voxels;
|
|---|
| 25 | - Transportation: added protection for zero step in field.
|
|---|
| 26 |
|
|---|
| 27 | o Globals:
|
|---|
| 28 | - STLInterface:
|
|---|
| 29 | major modifications for removing all references to Rogue Wave classes;
|
|---|
| 30 | removed wrappers for hash dictionaries; reorganised classes/files.
|
|---|
| 31 | - management:
|
|---|
| 32 | introduced 'g4std' wrappers and keywords for migration to the ISO/ANSI
|
|---|
| 33 | C++ standard and usage of the std namespace; fixed minor bug in
|
|---|
| 34 | G4PhysicsVector.
|
|---|
| 35 |
|
|---|
| 36 | o Hadronic Processes:
|
|---|
| 37 | - new isotope-production models for neutron induced production and
|
|---|
| 38 | corresponding design updates in hadronic/management;
|
|---|
| 39 | - additional string model for proton induced reactions;
|
|---|
| 40 | - design iteration on multi-fragmentation;
|
|---|
| 41 | - memory usage optimization in the neutron transport.
|
|---|
| 42 | NOTE: an updated set of neutron data files is now required.
|
|---|
| 43 |
|
|---|
| 44 | o Particles:
|
|---|
| 45 | - introduced dynamical electric charge in G4DynamicParticle to allow
|
|---|
| 46 | change of charge for ions;
|
|---|
| 47 | - introduced new G4IsotopeTable to manage excitation energy, lifetime,
|
|---|
| 48 | and decay modes for isotopes;
|
|---|
| 49 | - corrected identifier for isotopes Promethium and Prasceodym;
|
|---|
| 50 | - corrected spelling for file-names and keyword "barion" to "baryon".
|
|---|
| 51 |
|
|---|
| 52 | o Persistency:
|
|---|
| 53 | - added association of HitsCollection and PrimaryVertex to G4PEvent;
|
|---|
| 54 | added persistency of Boolean solid types; fixes for ODMG compliance;
|
|---|
| 55 | added G4PPRimaryParticle;
|
|---|
| 56 | - added new examples in examples/extended/persistency.
|
|---|
| 57 |
|
|---|
| 58 | o Visualization:
|
|---|
| 59 | - introduced visualization of *components* of a boolean solid.
|
|---|
| 60 | Visualisation of the *result* of the boolean operation will be
|
|---|
| 61 | available in a future release;
|
|---|
| 62 | - introduced new commands (use help <command name> for more information):
|
|---|
| 63 | /vis/scene/add/logicalVolume
|
|---|
| 64 | /vis/viewer/update
|
|---|
| 65 | - improvements to FukuiRenderer (DAWN):
|
|---|
| 66 | made destination directory of g4.prim and g4.eps customizable
|
|---|
| 67 | with the environmental variable G4DAWNFILE_DEST_DIR; auto
|
|---|
| 68 | incrementation of output file names is now supported;
|
|---|
| 69 | - removed ray tracing, pending re-implementation.
|
|---|
| 70 |
|
|---|
| 71 | Notes:
|
|---|
| 72 |
|
|---|
| 73 | o Geant4 1.0 is based on STL. All direct references to Rogue Wave have
|
|---|
| 74 | been removed from the code. See notes below.
|
|---|
| 75 |
|
|---|
| 76 | o The code released in Geant4 1.0 is not ISO/ANSI C++ compliant.
|
|---|
| 77 | A future minor release or patch will be provided that
|
|---|
| 78 | will include the ability to choose between using namespaces in
|
|---|
| 79 | ISO/ANSI mode or using traditional style "includes".
|
|---|
| 80 |
|
|---|
| 81 | This code and some binary libraries are available through our "Source
|
|---|
| 82 | Code" Web page:
|
|---|
| 83 | - see our Geant4 Home Page (http://cern.ch/geant4).
|
|---|
| 84 |
|
|---|
| 85 | Please refer to the Geant4 User Documentation
|
|---|
| 86 | (http://cern.ch/geant4/G4UsersDocuments/Overview/html)
|
|---|
| 87 | for further information about using Geant4.
|
|---|
| 88 | Updates to the documentation for Geant4 1.0 are still in preparation and are
|
|---|
| 89 | expected to be published within three weeks.
|
|---|
| 90 |
|
|---|
| 91 |
|
|---|
| 92 | Contents
|
|---|
| 93 | --------
|
|---|
| 94 |
|
|---|
| 95 | 1. Supported and Tested Platforms
|
|---|
| 96 | 2. CLHEP 1.4
|
|---|
| 97 | 3. The Standard Template Library (STL)
|
|---|
| 98 | 4. Persistency
|
|---|
| 99 | 5. Compiler Specific Problems
|
|---|
| 100 | 6. Known Run-Time Problems
|
|---|
| 101 | 7. Compilation Warnings
|
|---|
| 102 | 8. Known Run-Time Warnings
|
|---|
| 103 |
|
|---|
| 104 |
|
|---|
| 105 | 1. Supported and Tested Platforms
|
|---|
| 106 | ---------------------------------
|
|---|
| 107 |
|
|---|
| 108 | o SUN Solaris 5.6, C++ 4.2 patch 104631-04.
|
|---|
| 109 | o HP 10.20, aCC C++ B3910B A.01.18 or A.01.21
|
|---|
| 110 | o Linux 2.0.35, gcc C++ egcs-2.91.66 (egcs 1.1.2).
|
|---|
| 111 | This configuration was tested in the RedHat 5.1 distribution, but
|
|---|
| 112 | versions of Geant4 have also been compiled successfully on RedHat 6.1,
|
|---|
| 113 | Debian and Suse distributions.
|
|---|
| 114 |
|
|---|
| 115 | Platforms also tested but giving rise to some problems - see below:
|
|---|
| 116 |
|
|---|
| 117 | o DEC V4.0, cxx C++ V6.1-027.
|
|---|
| 118 | o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with:
|
|---|
| 119 | Visual C++ 6.0 Service Pack 2
|
|---|
| 120 |
|
|---|
| 121 | Platforms configured but not tested and not supported:
|
|---|
| 122 | o SGI V6.5.5, CC 7.2.1 with ObjectSpace
|
|---|
| 123 | o AIX 4.3.2, xlC compiler with ObjectSpace
|
|---|
| 124 |
|
|---|
| 125 | 2. CLHEP 1.4
|
|---|
| 126 | ------------
|
|---|
| 127 |
|
|---|
| 128 | Geant4 1.0 requires the installation of CLHEP 1.4.
|
|---|
| 129 |
|
|---|
| 130 | See CLHEP 1.4 (http://cern.ch/clhep/INSTALLATION/clhep.html).
|
|---|
| 131 |
|
|---|
| 132 | The following platform specific instructions apply:
|
|---|
| 133 |
|
|---|
| 134 | DEC: Do *not* use the compiler option "-std strict_ansi".
|
|---|
| 135 |
|
|---|
| 136 | NT: After configure, edit the file config/CLHEP-x86-cygnus-win32
|
|---|
| 137 | and comment out "#define HEP-USE-STD 1".
|
|---|
| 138 |
|
|---|
| 139 |
|
|---|
| 140 |
|
|---|
| 141 | 3. The Standard Template Library
|
|---|
| 142 | --------------------------------
|
|---|
| 143 |
|
|---|
| 144 | The following versions of STL have been tested:
|
|---|
| 145 |
|
|---|
| 146 | ObjectSpace STL on
|
|---|
| 147 | DEC, HP, NT and SUN.
|
|---|
| 148 |
|
|---|
| 149 | See ObjectSpace (http://www.objectspace.com).
|
|---|
| 150 |
|
|---|
| 151 | "Native" STL on: Linux, HP.
|
|---|
| 152 |
|
|---|
| 153 | This is selected at installation/compile time by the environment variable
|
|---|
| 154 | G4USE_OSPACE in the case of the former - see documentation.
|
|---|
| 155 |
|
|---|
| 156 | NOTES:
|
|---|
| 157 | - Be aware that by default, the installation scripts will expect to use
|
|---|
| 158 | the native STL implementation. You must set the G4USE_OSPACE variable
|
|---|
| 159 | in the environment in order to select the ObjectSpace implementation.
|
|---|
| 160 |
|
|---|
| 161 | - Platform specific setup:
|
|---|
| 162 | o DEC: ObjectSpace is required.
|
|---|
| 163 | o HP: either ObjectSpace or native STL can be used. In order to use
|
|---|
| 164 | native STL you must also set the environment variable
|
|---|
| 165 | G4NO_STD_NAMESPACE.
|
|---|
| 166 | o SUN: ObjectSpace is required.
|
|---|
| 167 | o Linux: native STL is required.
|
|---|
| 168 | o NT: ObjectSpace is required.
|
|---|
| 169 | Support for native STL and ISO/ANSI installation will be added
|
|---|
| 170 | soon (future patch or minor release).
|
|---|
| 171 |
|
|---|
| 172 | - A future minor release or patch will allow ISO/ANSI compliant installations.
|
|---|
| 173 | Their characteristics will be:
|
|---|
| 174 | o DEC: Native STL will be used
|
|---|
| 175 | o HP: The setup for native STL will trigger by default the ISO/ANSI
|
|---|
| 176 | installation (set G4NO_STD_NAMESPACE in the environment to avoid it.)
|
|---|
| 177 | o SUN: Support for CC 5.0 compiler and native STL (ISO/ANSI installation)
|
|---|
| 178 | o NT: Support for native STL and ISO/ANSI installation
|
|---|
| 179 | The modifications to support these installations will be tested soon.
|
|---|
| 180 | They will be made available in a patch or minor release.
|
|---|
| 181 |
|
|---|
| 182 | Geant4 1.0 is the first release requiring the Standard Template Library.
|
|---|
| 183 | In the interest of stability, a significant part of the code still makes use
|
|---|
| 184 | of the "STL Interface" wrapper classes. For these the emphasis has remained
|
|---|
| 185 | on correct behaviour, rather than performance. The size of libraries and
|
|---|
| 186 | executables can appear considerably larger than the previous Rogue-Wave based
|
|---|
| 187 | versions.
|
|---|
| 188 |
|
|---|
| 189 | 4. Persistency
|
|---|
| 190 | --------------
|
|---|
| 191 |
|
|---|
| 192 | - Platforms
|
|---|
| 193 |
|
|---|
| 194 | Persistency in Geant4 1.0 release has been tested on the following
|
|---|
| 195 | platforms/software versions:
|
|---|
| 196 |
|
|---|
| 197 | G4SYSTEM OS C++ compiler HepODBMS Objectivity
|
|---|
| 198 | --------- ----------- ------------ --------- -----------
|
|---|
| 199 | SUN-CC SunOS 5.6 CC 4.2 0.3.1.0 5.2
|
|---|
| 200 | HP-aCC HP-UX 10.20 aCC A.01.18 0.3.0.1 5.1.2
|
|---|
| 201 | Linux-g++ Linux RH5.1 egcs 1.1.2 0.3.0.1 5.1.2
|
|---|
| 202 |
|
|---|
| 203 | A patch to run persistency examples on DEC-cxx will be released
|
|---|
| 204 | later, pending a fix to HepODBMS library.
|
|---|
| 205 |
|
|---|
| 206 | - Known Problems
|
|---|
| 207 |
|
|---|
| 208 | 1) The following warning messages appear on some platforms during the
|
|---|
| 209 | installation of the libraries and the compilation of the example
|
|---|
| 210 | files. The message comes from the parser of the Objectivity
|
|---|
| 211 | preprocessor. It can be ignored.
|
|---|
| 212 |
|
|---|
| 213 | -------------------------------------------------------------------------
|
|---|
| 214 | "/opt/SUNWspro/SC4.2/include/CC/generic.h", line 29: warning: omission of
|
|---|
| 215 | explicit type is nonstandard ("int" assumed)
|
|---|
| 216 | extern genericerror(int, char*);
|
|---|
| 217 | ^
|
|---|
| 218 | "/opt/SUNWspro/SC4.2/include/CC/iostream.h", line 781: warning: integer
|
|---|
| 219 | conversion resulted in a change of sign
|
|---|
| 220 | unsafe_istream& wignore(int=1, wchar_t=WEOF);
|
|---|
| 221 | ^
|
|---|
| 222 | "/opt/SUNWspro/SC4.2/include/CC/iostream.h", line 962: warning: integer
|
|---|
| 223 | conversion resulted in a change of sign
|
|---|
| 224 | istream& wignore(int=1, wchar_t=WEOF);
|
|---|
| 225 | -------------------------------------------------------------------------
|
|---|
| 226 |
|
|---|
| 227 | 2) The following warning messages appear during the installation of the
|
|---|
| 228 | library. This is due to a design choice of the persitent object
|
|---|
| 229 | and it can be safely ignored.
|
|---|
| 230 |
|
|---|
| 231 | -------------------------------------------------------------------------
|
|---|
| 232 | warning: persistent-capable class member type is a problem
|
|---|
| 233 | The type of base class vector<G4VPhysicalVolume * > is a problem
|
|---|
| 234 | The type of member vector<G4VPhysicalVolume * >::start_ is pointer
|
|---|
| 235 | The type of member vector<G4VPhysicalVolume * >::finish_ is pointer
|
|---|
| 236 | The type of member vector<G4VPhysicalVolume * >::end_of_storage_
|
|---|
| 237 | is pointer
|
|---|
| 238 | The type of member vector<G4VPhysicalVolume * >::alloc_ is a
|
|---|
| 239 | problem
|
|---|
| 240 | The type of member allocator<G4VPhysicalVolume * >::impl_ is
|
|---|
| 241 | pointer
|
|---|
| 242 | G4VPhysVolRefVArray transPhysVolPtrs;
|
|---|
| 243 | ^
|
|---|
| 244 | -------------------------------------------------------------------------
|
|---|
| 245 |
|
|---|
| 246 | 3) The following warning messages appears during the installation of the
|
|---|
| 247 | libraries and the compilation of the example files. Dependency
|
|---|
| 248 | file is used to solve the GNUmake dependencies inside the Geant4
|
|---|
| 249 | categories and it can be safely ignored.
|
|---|
| 250 |
|
|---|
| 251 | -------------------------------------------------------------------------
|
|---|
| 252 | In file included from /afs/cern.ch/sw/lhcxx/specific/@sys/HepODBMS/0.3.1.0/
|
|---|
| 253 | include/HepODBMS/odbms/HepODBMS.h:75,
|
|---|
| 254 | from include/G4PersistentTypes.hh:21,
|
|---|
| 255 | from include/G4VPersistentSubMan.hh:34,
|
|---|
| 256 | from src/G4VPersistentSubMan.cc:16:
|
|---|
| 257 | /afs/cern.ch/sw/lhcxx/specific/sun/Objectivity/5.2/include/oo.h:57:
|
|---|
| 258 | warning: No include path in which to find generic.h
|
|---|
| 259 | -------------------------------------------------------------------------
|
|---|
| 260 |
|
|---|
| 261 | 4) The following error messages appear at the end of the library
|
|---|
| 262 | installation, and it can be safely ignored.
|
|---|
| 263 |
|
|---|
| 264 | -------------------------------------------------------------------------
|
|---|
| 265 | installing schema header files ...
|
|---|
| 266 | cp: cannot access /afs/cern.ch/sw/geant4/stt/ref+/AIX-xlC/debug/persistency/
|
|---|
| 267 | STL/tmp/SUN-CC/G4pglobal/*.hh
|
|---|
| 268 | schema header file does not exist, so ignore the error message...
|
|---|
| 269 | -------------------------------------------------------------------------
|
|---|
| 270 |
|
|---|
| 271 | 5) The following warning message appears at the runtime of the persistency
|
|---|
| 272 | examples, which is generated by HepDbApplication in HepODBMS.
|
|---|
| 273 | It can be ignored.
|
|---|
| 274 |
|
|---|
| 275 | -------------------------------------------------------------------------
|
|---|
| 276 | Opening federated database OO_FD_BOOT.
|
|---|
| 277 | WARNING: g4example: Could not find naming root directory:
|
|---|
| 278 | Naming will be disabled.
|
|---|
| 279 | -------------------------------------------------------------------------
|
|---|
| 280 |
|
|---|
| 281 |
|
|---|
| 282 | 5. Compiler Specific Problems
|
|---|
| 283 | -----------------------------
|
|---|
| 284 |
|
|---|
| 285 | o DEC V4.0, cxx C++ V6.1-027.
|
|---|
| 286 |
|
|---|
| 287 | We have found cases of mis-compilation of min and max templates
|
|---|
| 288 | on DEC. We have traced those which cause serious malfunction
|
|---|
| 289 | but there is no guarantee that there are no other cases.
|
|---|
| 290 | Detailed inspection of assembler output suggests that this
|
|---|
| 291 | problem might not be confined to min and max. This has been
|
|---|
| 292 | reported to DEC/Compaq. We understand a new version 6.2 of the
|
|---|
| 293 | compiler is now available. However we cannot guarantee correct
|
|---|
| 294 | execution of Geant4 on DEC with the current version of the
|
|---|
| 295 | compiler.
|
|---|
| 296 |
|
|---|
| 297 | o NT
|
|---|
| 298 |
|
|---|
| 299 | - Due to limitations of the VC++ optimiser, testing was done using
|
|---|
| 300 | the debuggable version only.
|
|---|
| 301 | - g3tog4 has not been ported to NT.
|
|---|
| 302 | - During the making of dependency files during compilation there
|
|---|
| 303 | are repeated warnings ("Strstrea.h not found") - this is an
|
|---|
| 304 | artifact of using g++ for this purpose.
|
|---|
| 305 | - Ignore linker warnings: "conflicts with use of other libs".
|
|---|
| 306 | - Ignore linker errors: "unresolved external symbol
|
|---|
| 307 | __imp__MessageBoxA@16".
|
|---|
| 308 |
|
|---|
| 309 |
|
|---|
| 310 | 6. Known Run-Time Problems
|
|---|
| 311 | --------------------------
|
|---|
| 312 |
|
|---|
| 313 | o Reading STEP files on DEC with optimised libraries causes a Memory
|
|---|
| 314 | fault - but see notes on DEC above.
|
|---|
| 315 | o In rare cases heavy ions appear not to be properly stopped and killed
|
|---|
| 316 | in tracking, therefore Geant4 sticks making many small steps. This
|
|---|
| 317 | behaviour has been observed on SUN and is under investigation.
|
|---|
| 318 | o On WindowsNT, a problem can occur reading the data files associated with
|
|---|
| 319 | the environment variable G4LEVELGAMMADATA. (Usually the value
|
|---|
| 320 | for this variable is $G4INSTALL/geant4/data/PhotonEvaporation .)
|
|---|
| 321 | A correction that resolves this anomalous behaviour will be issued
|
|---|
| 322 | soon, in a patch.
|
|---|
| 323 |
|
|---|
| 324 |
|
|---|
| 325 | 7. Compilation Warnings
|
|---|
| 326 | -----------------------
|
|---|
| 327 |
|
|---|
| 328 | There are compilation warnings on some platforms. We do not believe
|
|---|
| 329 | that any will lead to incorrect run-time behaviour, but we are working
|
|---|
| 330 | on reducing them.
|
|---|
| 331 |
|
|---|
| 332 |
|
|---|
| 333 | 8. Known Run-Time Warnings
|
|---|
| 334 | --------------------------
|
|---|
| 335 |
|
|---|
| 336 | The following messages can be written to error output while tracking. We
|
|---|
| 337 | believe none give rise to incorrect behaviour.
|
|---|
| 338 |
|
|---|
| 339 | o G4PropagatorInField::LocateIntersectionPoint: Warning: Integration
|
|---|
| 340 | inaccuracy requires an adjustment in the step's endpoint Two
|
|---|
| 341 | mid-points are further apart than their curve length difference:
|
|---|
| 342 | Dist = xxx curve length = yyy
|
|---|
| 343 | o Warning in G4Navigator::ComputeStep: The Step's starting point has
|
|---|
| 344 | moved...
|
|---|
| 345 | o G4PropagateInField: Warning: Particle is looping
|
|---|
| 346 | - tracking in field will be stopped.
|
|---|
| 347 | It has performed 10000 steps in Field while a maximum of 10000
|
|---|
| 348 | are allowed.
|
|---|
| 349 |
|
|---|
| 350 | For very high energy muons (ex. 1 TeV) warnings of this kind might be
|
|---|
| 351 | generated:
|
|---|
| 352 |
|
|---|
| 353 | o G4ParticleChange::CheckIt : the Momentum Change is not unit vector !!
|
|---|
| 354 | Difference: 1e-09
|
|---|
| 355 | G4ParticleChange::CheckIt
|
|---|