[1337] | 1 | |
---|
| 2 | Geant4 1.1 Release Notes |
---|
| 3 | ------------------------ |
---|
| 4 | |
---|
| 5 | 10th March 2000 |
---|
| 6 | |
---|
| 7 | The following is a summary of the main fixes collected since release 1.0 and |
---|
| 8 | included in Geant4 1.1 (for the detailed list of fixes/updates, please refer |
---|
| 9 | to the related History files): |
---|
| 10 | |
---|
| 11 | o Configuration scripts |
---|
| 12 | - introduced G4NO_OPTIMISE flag for compilation with no optimisation level, |
---|
| 13 | G4DEBUG if defined takes precedence. |
---|
| 14 | - added G4DEBUG and G4OPTIMISE to the CPPFLAGS list. |
---|
| 15 | - fixed bug in EXTRALIBS. |
---|
| 16 | - fixed linking order for compound libraries. |
---|
| 17 | |
---|
| 18 | o Electromagnetic Processes: |
---|
| 19 | - low-energy processes: |
---|
| 20 | + updated anti-proton energy losses to provide simulation down to 1 keV. |
---|
| 21 | + minor bug fixes to G4ionLowEnergyIonisation. |
---|
| 22 | + fixes to electron and photon low energy processes. |
---|
| 23 | |
---|
| 24 | o Events: |
---|
| 25 | - introduced corrections for trajectories of suspended tracks. |
---|
| 26 | |
---|
| 27 | o Geometry: |
---|
| 28 | - syncronixed HEAD version of files after ISO-C++ migration. |
---|
| 29 | - CSG: |
---|
| 30 | fixed bug in DistanceToIn(p,v) for G4Trap. |
---|
| 31 | - volumes: |
---|
| 32 | added protection to GetSlice() in G4DrawVoxels. |
---|
| 33 | |
---|
| 34 | o Globals: |
---|
| 35 | - added check on definition of CLHEP_MAX_MIN_DEFINED flag. |
---|
| 36 | - introduced constructor for 3vectors in G4BestUnits. |
---|
| 37 | - fixed truncation problem in G4Poisson. |
---|
| 38 | - STLinterface: |
---|
| 39 | + enforced bound-checking for [] access operators. |
---|
| 40 | + fixed bugs in G4String::toUpper() and G4String::toLower(). |
---|
| 41 | + fixed bounds overflow error in G4RWTPtrSortedVector::find(). |
---|
| 42 | |
---|
| 43 | o Graphics Representations |
---|
| 44 | - fix for spheres with small dtheta. |
---|
| 45 | |
---|
| 46 | o Hadronic Processes: |
---|
| 47 | - fixed the 'no data' problem observed in the neutron transport tests. |
---|
| 48 | |
---|
| 49 | o Persistency: |
---|
| 50 | - fixed typo in G4PersistentGeomMan class. |
---|
| 51 | |
---|
| 52 | o Tracking & Track: |
---|
| 53 | - added protection for NULL pointers in G4SteppingManager. |
---|
| 54 | - fixed bug related to track weight in G4VParticleChange. |
---|
| 55 | |
---|
| 56 | o Visualization: |
---|
| 57 | - added fix for ISO-ANSI C++ in VRML driver. |
---|
| 58 | - introduced commands /vis/viewer/show and /vis/viewer/refresh |
---|
| 59 | - introduced general handling of displaced solids. |
---|
| 60 | - added some protections in case of no viewer and no voxelisation. |
---|
| 61 | |
---|
| 62 | o G3-to-G4 tool: |
---|
| 63 | - introduced fixes to G3VolTable::GetVTE() and G3Division::CreateSolid(). |
---|
| 64 | - avoid placement of top-level logical volume in G3toG4BuildTree. |
---|
| 65 | - removed obsolete files. |
---|
| 66 | |
---|
| 67 | o Examples: |
---|
| 68 | - introduced stepping verbosity (N02, N03). |
---|
| 69 | - added 10 TeV mu- in macro exampleN04.EMtest.in. |
---|
| 70 | - extended/electromagnetic examples: bug fixes and introduced low-energy |
---|
| 71 | test (TestEm6) |
---|
| 72 | - introduced 'large N' input macros. |
---|
| 73 | - updated reference outputs. |
---|
| 74 | |
---|
| 75 | Notes: |
---|
| 76 | |
---|
| 77 | o Geant4 1.1 is based on STL and the code has been upgraded to be |
---|
| 78 | ISO-ANSI C++ compliant. Code in this release include the ability to |
---|
| 79 | choose between using the 'std' namespace in ISO/ANSI mode or using |
---|
| 80 | traditional style programming in the global namespace (exceptions |
---|
| 81 | still apply concerning mathematical functions - <math.h> in global |
---|
| 82 | namespace is still in use, or standard C I/O functions). |
---|
| 83 | |
---|
| 84 | The source code and some binary libraries are available through our "Source |
---|
| 85 | Code" Web page: |
---|
| 86 | - see our Geant4 Home Page (http://cern.ch/geant4). |
---|
| 87 | |
---|
| 88 | Please refer to the Geant4 User Documentation |
---|
| 89 | (http://cern.ch/geant4/G4UsersDocuments/Overview/html) |
---|
| 90 | for further information about using Geant4. |
---|
| 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.2.5-22, gcc C++ egcs-2.91.66 (egcs 1.1.2). |
---|
| 112 | This configuration was tested in the RedHat 6.1 distribution, but |
---|
| 113 | versions of Geant4 have also been compiled successfully on, Debian |
---|
| 114 | and Suse distributions. |
---|
| 115 | |
---|
| 116 | Platforms/compilers also tested but giving rise to some problems - see below: |
---|
| 117 | |
---|
| 118 | o DEC V4.0, cxx C++ V6.1-027. |
---|
| 119 | o SUN Solaris 5.6, C++ 5.0 patches 107357-07, 107311-09 |
---|
| 120 | o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with: |
---|
| 121 | Visual C++ 6.0 Service Pack 2 |
---|
| 122 | |
---|
| 123 | Platforms configured but not tested and not supported: |
---|
| 124 | o SGI V6.5.5, CC 7.2.1 with ObjectSpace |
---|
| 125 | o AIX 4.3.2, xlC compiler with ObjectSpace |
---|
| 126 | |
---|
| 127 | 2. CLHEP 1.4 |
---|
| 128 | ------------ |
---|
| 129 | |
---|
| 130 | Geant4 1.0 requires the installation of CLHEP 1.4. |
---|
| 131 | |
---|
| 132 | See CLHEP 1.4 (http://cern.ch/clhep/INSTALLATION/clhep.html). |
---|
| 133 | |
---|
| 134 | Be aware, for the platforms listed below, the standard CLHEP installation |
---|
| 135 | will use ISO-ANSI setup: |
---|
| 136 | |
---|
| 137 | DEC: if using the compiler option "-std strict_ansi", it is required to |
---|
| 138 | compile Geant4 in ISO-ANSI mode and 'native' STL. |
---|
| 139 | |
---|
| 140 | NT: if CLHEP has been installed with the line: |
---|
| 141 | #define HEP-USE-STD 1 |
---|
| 142 | uncommented in file config/CLHEP-x86-cygnus-win32, it is required to |
---|
| 143 | compile Geant4 in ISO-ANSI mode and 'native' STL. |
---|
| 144 | |
---|
| 145 | |
---|
| 146 | |
---|
| 147 | 3. The Standard Template Library |
---|
| 148 | -------------------------------- |
---|
| 149 | |
---|
| 150 | The following versions of STL have been tested: |
---|
| 151 | |
---|
| 152 | "Native" STL on: Linux, HP, DEC, SUN, NT. |
---|
| 153 | |
---|
| 154 | ObjectSpace STL on |
---|
| 155 | DEC, HP, NT and SUN. |
---|
| 156 | |
---|
| 157 | See ObjectSpace (http://www.objectspace.com). |
---|
| 158 | |
---|
| 159 | This is selected at installation/compile time by the environment variable |
---|
| 160 | G4USE_OSPACE in the case of the latter - see documentation. |
---|
| 161 | |
---|
| 162 | NOTES: |
---|
| 163 | - Be aware that by default, the installation scripts will expect to use |
---|
| 164 | the native STL implementation. You must set the G4USE_OSPACE variable |
---|
| 165 | in the environment in order to select the ObjectSpace implementation. |
---|
| 166 | |
---|
| 167 | - Platforms specific setup: |
---|
| 168 | o DEC: - Default: 'native' STL and ISO-ANSI setup. |
---|
| 169 | - G4USE_OSPACE set: selects ObjectSpace STL (required) |
---|
| 170 | and no ISO-ANSI setup. |
---|
| 171 | o HP: - Default: 'native' STL and ISO-ANSI setup. |
---|
| 172 | - G4USE_OSPACE set: selects ObjectSpace STL (required) |
---|
| 173 | and no ISO-ANSI setup. |
---|
| 174 | - G4NO_STD_NAMESPACE set: either ObjectSpace or 'native' STL |
---|
| 175 | can be used. |
---|
| 176 | o SUN: - Default: 'native' STL and ISO-ANSI setup. |
---|
| 177 | This setup requires the CC compiler version 5.0. |
---|
| 178 | - G4USE_OSPACE set: selects ObjectSpace STL (required) |
---|
| 179 | and no ISO-ANSI setup. |
---|
| 180 | o Linux: native STL is required. No ISO-ANSI setup. |
---|
| 181 | o NT: - Default: 'native' STL and ISO-ANSI setup. |
---|
| 182 | - G4USE_OSPACE set: selects ObjectSpace STL (required) |
---|
| 183 | and no ISO-ANSI setup. |
---|
| 184 | |
---|
| 185 | Geant4 1.1 requires the Standard Template Library. |
---|
| 186 | In the interest of stability, a significant part of the code still makes use |
---|
| 187 | of the "STL Interface" wrapper classes. For these the emphasis has remained |
---|
| 188 | on correct behaviour, rather than performance. |
---|
| 189 | |
---|
| 190 | |
---|
| 191 | 4. Persistency |
---|
| 192 | -------------- |
---|
| 193 | |
---|
| 194 | - See release notes for Geant4 1.0. |
---|
| 195 | |
---|
| 196 | |
---|
| 197 | 5. Compiler Specific Problems |
---|
| 198 | ----------------------------- |
---|
| 199 | |
---|
| 200 | o DEC V4.0, cxx C++ V6.1-027. |
---|
| 201 | |
---|
| 202 | We have found cases of mis-compilation of min and max templates |
---|
| 203 | on DEC. We have traced those which cause serious malfunction |
---|
| 204 | but there is no guarantee that there are no other cases. |
---|
| 205 | Detailed inspection of assembler output suggests that this |
---|
| 206 | problem might not be confined to min and max. This has been |
---|
| 207 | reported to DEC/Compaq. We understand a new version 6.2 of the |
---|
| 208 | compiler is now available. However we cannot guarantee correct |
---|
| 209 | execution of Geant4 on DEC with the current version of the |
---|
| 210 | compiler. |
---|
| 211 | |
---|
| 212 | o SUN Solaris 5.6, CC 5.0 patches 107357-07, 107311-09 |
---|
| 213 | |
---|
| 214 | The listed patches are required in order to fix a bug in the |
---|
| 215 | system Standard I/O libraries for streams. |
---|
| 216 | Part of the Geant4 code can be compiled only in debug mode (G4DEBUG |
---|
| 217 | set). A bug in the compiler optimiser causes the compiler to run in |
---|
| 218 | an infinite loop during compilation. Also, the inclusion of debug |
---|
| 219 | symbols causes the generation of abnormally huge binary objects. |
---|
| 220 | A bug report is being filed to SUN Support. |
---|
| 221 | |
---|
| 222 | o NT |
---|
| 223 | |
---|
| 224 | - Due to limitations of the VC++ optimiser, testing was done using |
---|
| 225 | the debuggable version only. |
---|
| 226 | - g3tog4 has not been ported to NT. |
---|
| 227 | - During the making of dependency files during compilation there |
---|
| 228 | are repeated warnings ("Strstrea.h not found") - this is an |
---|
| 229 | artifact of using g++ for this purpose. |
---|
| 230 | - Ignore linker warnings: "conflicts with use of other libs". |
---|
| 231 | - Ignore linker errors: "unresolved external symbol |
---|
| 232 | __imp__MessageBoxA@16". |
---|
| 233 | |
---|
| 234 | 6. Known Run-Time Problems |
---|
| 235 | -------------------------- |
---|
| 236 | |
---|
| 237 | o Reading STEP files on DEC with optimised libraries causes a Memory |
---|
| 238 | fault - but see notes on DEC above. |
---|
| 239 | o In rare cases heavy ions appear not to be properly stopped and killed |
---|
| 240 | in tracking, therefore Geant4 sticks making many small steps. This |
---|
| 241 | behaviour has been observed on SUN and is under investigation. |
---|
| 242 | o On WindowsNT and DEC (ISO-ANSI setup), a problem can occur reading the data |
---|
| 243 | files associated with the environment variable $NeutronHPCrossSections. |
---|
| 244 | The problem is being investigated. |
---|
| 245 | |
---|
| 246 | |
---|
| 247 | 7. Compilation Warnings |
---|
| 248 | ----------------------- |
---|
| 249 | |
---|
| 250 | There are compilation warnings on some platforms. We do not believe |
---|
| 251 | that any will lead to incorrect run-time behaviour, however a parallel |
---|
| 252 | Q/A activity is on going to reduce them. |
---|
| 253 | |
---|
| 254 | |
---|
| 255 | 8. Known Run-Time Warnings |
---|
| 256 | -------------------------- |
---|
| 257 | |
---|
| 258 | The following messages can be written to error output while tracking. We |
---|
| 259 | believe none give rise to incorrect behaviour. |
---|
| 260 | |
---|
| 261 | o G4PropagatorInField::LocateIntersectionPoint: Warning: Integration |
---|
| 262 | inaccuracy requires an adjustment in the step's endpoint Two |
---|
| 263 | mid-points are further apart than their curve length difference: |
---|
| 264 | Dist = xxx curve length = yyy |
---|
| 265 | o Warning in G4Navigator::ComputeStep: The Step's starting point has |
---|
| 266 | moved... |
---|
| 267 | o G4PropagateInField: Warning: Particle is looping |
---|
| 268 | - tracking in field will be stopped. |
---|
| 269 | It has performed 10000 steps in Field while a maximum of 10000 |
---|
| 270 | are allowed. |
---|
| 271 | |
---|
| 272 | For very high energy muons (ex. 1 TeV) warnings of this kind might be |
---|
| 273 | generated: |
---|
| 274 | |
---|
| 275 | o G4ParticleChange::CheckIt : the Momentum Change is not unit vector !! |
---|
| 276 | Difference: 1e-09 |
---|
| 277 | G4ParticleChange::CheckIt |
---|