|
| 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 <A href="http://wwwinfo.cern.ch/asd/geant4/geant4.html">Geant4 |
| 84 | + Home Page</A>. |
| 85 | + |
| 86 | +Please refer to <A |
| 87 | +href="http://wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/Overview/html/index.html">Geant4 |
| 88 | +User Documentation</A> for further information about using Geant4. |
| 89 | +Updates to the documentation for Geant4 1.0 are still in preparation and are |
| 90 | +expected to be published within three weeks. |
| 91 | + |
| 92 | + |
| 93 | +Contents |
| 94 | +-------- |
| 95 | + |
| 96 | + 1. Supported and Tested Platforms |
| 97 | + 2. CLHEP 1.4 |
| 98 | + 3. The Standard Template Library (STL) |
| 99 | + 4. Persistency |
| 100 | + 5. Compiler Specific Problems |
| 101 | + 6. Known Run-Time Problems |
| 102 | + 7. Compilation Warnings |
| 103 | + 8. Known Run-Time Warnings |
| 104 | + |
| 105 | + |
| 106 | +1. Supported and Tested Platforms |
| 107 | +--------------------------------- |
| 108 | + |
| 109 | + o SUN Solaris 5.6, C++ 4.2 patch 104631-04. |
| 110 | + o HP 10.20, aCC C++ B3910B A.01.18 or A.01.21 |
| 111 | + o Linux 2.0.35, gcc C++ egcs-2.91.66 (egcs 1.1.2). |
| 112 | + This configuration was tested in the RedHat 5.1 distribution, but |
| 113 | + versions of Geant4 have also been compiled successfully on RedHat 6.1, |
| 114 | + Debian and Suse distributions. |
| 115 | + |
| 116 | +Platforms also tested but giving rise to some problems - see below: |
| 117 | + |
| 118 | + o DEC V4.0, cxx C++ V6.1-027. |
| 119 | + o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with: |
| 120 | + Visual C++ 6.0 Service Pack 2 |
| 121 | + |
| 122 | +Platforms configured but not tested and not supported: |
| 123 | + o SGI V6.5.5, CC 7.2.1 with ObjectSpace |
| 124 | + o AIX 4.3.2, xlC compiler with ObjectSpace |
| 125 | + |
| 126 | +2. CLHEP 1.4 |
| 127 | +------------ |
| 128 | + |
| 129 | +Geant4 1.0 requires the installation of CLHEP 1.4. |
| 130 | + |
| 131 | +See <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html"> |
| 132 | +CLHEP 1.4</A>. |
| 133 | + |
| 134 | +The following platform specific instructions apply: |
| 135 | + |
| 136 | + DEC: Do *not* use the compiler option "-std strict_ansi". |
| 137 | + |
| 138 | + NT: After configure, edit the file config/CLHEP-x86-cygnus-win32 |
| 139 | + and comment out "#define HEP-USE-STD 1". |
| 140 | + |
| 141 | + |
| 142 | + |
| 143 | +3. The Standard Template Library |
| 144 | +-------------------------------- |
| 145 | + |
| 146 | +The following versions of STL have been tested: |
| 147 | + |
| 148 | + ObjectSpace STL on |
| 149 | + DEC, HP, NT and SUN. |
| 150 | + |
| 151 | + See <A href="http://www.objectspace.com/">ObjectSpace</A>. |
| 152 | + |
| 153 | + "Native" STL on: Linux, HP. |
| 154 | + |
| 155 | +This is selected at installation/compile time by the environment variable |
| 156 | +G4USE_OSPACE in the case of the former - see documentation. |
| 157 | + |
| 158 | +NOTES: |
| 159 | +- Be aware that by default, the installation scripts will expect to use |
| 160 | + the native STL implementation. You must set the G4USE_OSPACE variable |
| 161 | + in the environment in order to select the ObjectSpace implementation. |
| 162 | + |
| 163 | +- Platform specific setup: |
| 164 | + o DEC: ObjectSpace is required. |
| 165 | + o HP: either ObjectSpace or native STL can be used. In order to use |
| 166 | + native STL you must also set the environment variable |
| 167 | + G4NO_STD_NAMESPACE. |
| 168 | + o SUN: ObjectSpace is required. |
| 169 | + o Linux: native STL is required. |
| 170 | + o NT: ObjectSpace is required. |
| 171 | + Support for native STL and ISO/ANSI installation will be added |
| 172 | + soon (future patch or minor release). |
| 173 | + |
| 174 | +- A future minor release or patch will allow ISO/ANSI compliant installations. |
| 175 | + Their characteristics will be: |
| 176 | + o DEC: Native STL will be used |
| 177 | + o HP: The setup for native STL will trigger by default the ISO/ANSI |
| 178 | + installation (set G4NO_STD_NAMESPACE in the environment to avoid it.) |
| 179 | + o SUN: Support for CC 5.0 compiler and native STL (ISO/ANSI installation) |
| 180 | + o NT: Support for native STL and ISO/ANSI installation |
| 181 | + The modifications to support these installations will be tested soon. |
| 182 | + They will be made available in a patch or minor release. |
| 183 | + |
| 184 | +Geant4 1.0 is the first release requiring the Standard Template Library. |
| 185 | +In the interest of stability, a significant part of the code still makes use |
| 186 | +of the "STL Interface" wrapper classes. For these the emphasis has remained |
| 187 | +on correct behaviour, rather than performance. The size of libraries and |
| 188 | +executables can appear considerably larger than the previous Rogue-Wave based |
| 189 | +versions. |
| 190 | + |
| 191 | +4. Persistency |
| 192 | +-------------- |
| 193 | + |
| 194 | +- Platforms |
| 195 | + |
| 196 | + Persistency in Geant4 1.0 release has been tested on the following |
| 197 | + platforms/software versions: |
| 198 | + |
| 199 | + G4SYSTEM OS C++ compiler HepODBMS Objectivity |
| 200 | + --------- ----------- ------------ --------- ----------- |
| 201 | + SUN-CC SunOS 5.6 CC 4.2 0.3.1.0 5.2 |
| 202 | + HP-aCC HP-UX 10.20 aCC A.01.18 0.3.0.1 5.1.2 |
| 203 | + Linux-g++ Linux RH5.1 egcs 1.1.2 0.3.0.1 5.1.2 |
| 204 | + |
| 205 | + A patch to run persistency examples on DEC-cxx will be released |
| 206 | + later, pending a fix to HepODBMS library. |
| 207 | + |
| 208 | +- Known Problems |
| 209 | + |
| 210 | + 1) The following warning messages appear on some platforms during the |
| 211 | + installation of the libraries and the compilation of the example |
| 212 | + files. The message comes from the parser of the Objectivity |
| 213 | + preprocessor. It can be ignored. |
| 214 | + |
| 215 | + ------------------------------------------------------------------------- |
| 216 | + "/opt/SUNWspro/SC4.2/include/CC/generic.h", line 29: warning: omission of |
| 217 | + explicit type is nonstandard ("int" assumed) |
| 218 | + extern genericerror(int, char*); |
| 219 | + ^ |
| 220 | + "/opt/SUNWspro/SC4.2/include/CC/iostream.h", line 781: warning: integer |
| 221 | + conversion resulted in a change of sign |
| 222 | + unsafe_istream& wignore(int=1, wchar_t=WEOF); |
| 223 | + ^ |
| 224 | + "/opt/SUNWspro/SC4.2/include/CC/iostream.h", line 962: warning: integer |
| 225 | + conversion resulted in a change of sign |
| 226 | + istream& wignore(int=1, wchar_t=WEOF); |
| 227 | + ------------------------------------------------------------------------- |
| 228 | + |
| 229 | + 2) The following warning messages appear during the installation of the |
| 230 | + library. This is due to a design choice of the persitent object |
| 231 | + and it can be safely ignored. |
| 232 | + |
| 233 | + ------------------------------------------------------------------------- |
| 234 | + warning: persistent-capable class member type is a problem |
| 235 | + The type of base class vector<G4VPhysicalVolume * > is a problem |
| 236 | + The type of member vector<G4VPhysicalVolume * >::start_ is pointer |
| 237 | + The type of member vector<G4VPhysicalVolume * >::finish_ is pointer |
| 238 | + The type of member vector<G4VPhysicalVolume * >::end_of_storage_ |
| 239 | + is pointer |
| 240 | + The type of member vector<G4VPhysicalVolume * >::alloc_ is a |
| 241 | + problem |
| 242 | + The type of member allocator<G4VPhysicalVolume * >::impl_ is |
| 243 | + pointer |
| 244 | + G4VPhysVolRefVArray transPhysVolPtrs; |
| 245 | + ^ |
| 246 | + ------------------------------------------------------------------------- |
| 247 | + |
| 248 | + 3) The following warning messages appears during the installation of the |
| 249 | + libraries and the compilation of the example files. Dependency |
| 250 | + file is used to solve the GNUmake dependencies inside the Geant4 |
| 251 | + categories and it can be safely ignored. |
| 252 | + |
| 253 | + ------------------------------------------------------------------------- |
| 254 | + In file included from /afs/cern.ch/sw/lhcxx/specific/@sys/HepODBMS/0.3.1.0/ |
| 255 | + include/HepODBMS/odbms/HepODBMS.h:75, |
| 256 | + from include/G4PersistentTypes.hh:21, |
| 257 | + from include/G4VPersistentSubMan.hh:34, |
| 258 | + from src/G4VPersistentSubMan.cc:16: |
| 259 | + /afs/cern.ch/sw/lhcxx/specific/sun/Objectivity/5.2/include/oo.h:57: |
| 260 | + warning: No include path in which to find generic.h |
| 261 | + ------------------------------------------------------------------------- |
| 262 | + |
| 263 | + 4) The following error messages appear at the end of the library |
| 264 | + installation, and it can be safely ignored. |
| 265 | + |
| 266 | + ------------------------------------------------------------------------- |
| 267 | + installing schema header files ... |
| 268 | + cp: cannot access /afs/cern.ch/sw/geant4/stt/ref+/AIX-xlC/debug/persistency/ |
| 269 | + STL/tmp/SUN-CC/G4pglobal/*.hh |
| 270 | + schema header file does not exist, so ignore the error message... |
| 271 | + ------------------------------------------------------------------------- |
| 272 | + |
| 273 | + 5) The following warning message appears at the runtime of the persistency |
| 274 | + examples, which is generated by HepDbApplication in HepODBMS. |
| 275 | + It can be ignored. |
| 276 | + |
| 277 | + ------------------------------------------------------------------------- |
| 278 | + Opening federated database OO_FD_BOOT. |
| 279 | + WARNING: g4example: Could not find naming root directory: |
| 280 | + Naming will be disabled. |
| 281 | + ------------------------------------------------------------------------- |
| 282 | + |
| 283 | + |
| 284 | +5. Compiler Specific Problems |
| 285 | +----------------------------- |
| 286 | + |
| 287 | + o DEC V4.0, cxx C++ V6.1-027. |
| 288 | + |
| 289 | + We have found cases of mis-compilation of min and max templates |
| 290 | + on DEC. We have traced those which cause serious malfunction |
| 291 | + but there is no guarantee that there are no other cases. |
| 292 | + Detailed inspection of assembler output suggests that this |
| 293 | + problem might not be confined to min and max. This has been |
| 294 | + reported to DEC/Compaq. We understand a new version 6.2 of the |
| 295 | + compiler is now available. However we cannot guarantee correct |
| 296 | + execution of Geant4 on DEC with the current version of the |
| 297 | + compiler. |
| 298 | + |
| 299 | + o NT |
| 300 | + |
| 301 | + - Due to limitations of the VC++ optimiser, testing was done using |
| 302 | + the debuggable version only. |
| 303 | + - g3tog4 has not been ported to NT. |
| 304 | + - During the making of dependency files during compilation there |
| 305 | + are repeated warnings ("Strstrea.h not found") - this is an |
| 306 | + artifact of using g++ for this purpose. |
| 307 | + - Ignore linker warnings: "conflicts with use of other libs". |
| 308 | + - Ignore linker errors: "unresolved external symbol |
| 309 | + __imp__MessageBoxA@16". |
| 310 | + |
| 311 | + |
| 312 | +6. Known Run-Time Problems |
| 313 | +-------------------------- |
| 314 | + |
| 315 | + o Reading STEP files on DEC with optimised libraries causes a Memory |
| 316 | + fault - but see notes on DEC above. |
| 317 | + o In rare cases heavy ions appear not to be properly stopped and killed |
| 318 | + in tracking, therefore Geant4 sticks making many small steps. This |
| 319 | + behaviour has been observed on SUN and is under investigation. |
| 320 | + o On WindowsNT, a problem can occur reading the data files associated with |
| 321 | + the environment variable G4LEVELGAMMADATA. (Usually the value |
| 322 | + for this variable is $G4INSTALL/geant4/data/PhotonEvaporation .) |
| 323 | + A correction that resolves this anomalous behaviour will be issued |
| 324 | + soon, in a patch. |
| 325 | + |
| 326 | + |
| 327 | +7. Compilation Warnings |
| 328 | +----------------------- |
| 329 | + |
| 330 | +There are compilation warnings on some platforms. We do not believe |
| 331 | +that any will lead to incorrect run-time behaviour, but we are working |
| 332 | +on reducing them. |
| 333 | + |
| 334 | + |
| 335 | +8. Known Run-Time Warnings |
| 336 | +-------------------------- |
| 337 | + |
| 338 | +The following messages can be written to error output while tracking. We |
| 339 | +believe none give rise to incorrect behaviour. |
| 340 | + |
| 341 | + o G4PropagatorInField::LocateIntersectionPoint: Warning: Integration |
| 342 | + inaccuracy requires an adjustment in the step's endpoint Two |
| 343 | + mid-points are further apart than their curve length difference: |
| 344 | + Dist = xxx curve length = yyy |
| 345 | + o Warning in G4Navigator::ComputeStep: The Step's starting point has |
| 346 | + moved... |
| 347 | + o G4PropagateInField: Warning: Particle is looping |
| 348 | + - tracking in field will be stopped. |
| 349 | + It has performed 10000 steps in Field while a maximum of 10000 |
| 350 | + are allowed. |
| 351 | + |
| 352 | +For very high energy muons (ex. 1 TeV) warnings of this kind might be |
| 353 | +generated: |
| 354 | + |
| 355 | + o G4ParticleChange::CheckIt : the Momentum Change is not unit vector !! |
| 356 | + Difference: 1e-09 |
| 357 | + G4ParticleChange::CheckIt |
0 commit comments