[1337] | 1 | |
---|
| 2 | Geant4 4.0 Release Notes |
---|
| 3 | ------------------------ |
---|
| 4 | |
---|
| 5 | 14th December 2001 |
---|
| 6 | |
---|
| 7 | These are the main new features/fixes included in this release since the |
---|
| 8 | last public release (for the detailed list of fixes/additions, please refer |
---|
| 9 | to the related History files): |
---|
| 10 | |
---|
| 11 | o Analysis: |
---|
| 12 | -------- |
---|
| 13 | - Removed analysis module. AIDA 2.2 or higher should now be adopted. |
---|
| 14 | |
---|
| 15 | o Configuration: |
---|
| 16 | ------------- |
---|
| 17 | - New version of the 'Configure' script for installation. |
---|
| 18 | - architecture.gmk: |
---|
| 19 | o made Linux-g++ architecture the default G4SYSTEM. |
---|
| 20 | o removed references to STLInterface. |
---|
| 21 | - Added Linux-egcs for old Linux architectures based on egcs-1.1.2 compiler. |
---|
| 22 | - Made Linux-g++ specific to gcc-2.95.2 compiler or higher. |
---|
| 23 | - Made SUN-CC specific to CC-5.2 compiler, the default compiler on SUN |
---|
| 24 | systems. CC-4.2 is no longer supported. |
---|
| 25 | - Introduced environment variable G4VIS_NONE that, if set, no visualization |
---|
| 26 | drivers are built and no vis libraries are built. |
---|
| 27 | - Introduced environment variable G4UI_NONE that, if set, no UI |
---|
| 28 | sessions nor any UI libraries are built. |
---|
| 29 | - Re-engineered G4VIS variables: removed the need to specify environment |
---|
| 30 | variables for visualization drivers which do not need external packages |
---|
| 31 | or libraries, namely : |
---|
| 32 | G4VIS_BUILD_DAWNFILE_DRIVER |
---|
| 33 | G4VIS_BUILD_RAYTRACER_DRIVER |
---|
| 34 | G4VIS_BUILD_VRMLFILE_DRIVER |
---|
| 35 | G4VIS_BUILD_ASCIITREE_DRIVER |
---|
| 36 | G4VIS_BUILD_GAGTREE_DRIVER |
---|
| 37 | with associated G4VIS_USE environment variables: |
---|
| 38 | G4VIS_USE_DAWNFILE |
---|
| 39 | G4VIS_USE_RAYTRACER |
---|
| 40 | G4VIS_USE_VRMLFILE |
---|
| 41 | G4VIS_USE_ASCIITREE |
---|
| 42 | G4VIS_USE_GAGTREE |
---|
| 43 | - Re-engineered G4UI variables: removed the need to specify environment |
---|
| 44 | variables for UI sessions which do not need external packages or |
---|
| 45 | libraries, namely : |
---|
| 46 | G4UI_BUILD_GAG_SESSION, G4UI_BUILD_TERMINAL_SESSION |
---|
| 47 | with associated G4UI_USE environment variables: |
---|
| 48 | G4UI_USE_GAG, G4UI_USE_TCSH, G4UI_USE_TERMINAL |
---|
| 49 | - Removed references to STLInterface module in architecture.gmk |
---|
| 50 | and architecture setups. |
---|
| 51 | - analysis.gmk: added flags to use an AIDA 2.2 compliant analysis system. |
---|
| 52 | |
---|
| 53 | o Event: |
---|
| 54 | ----- |
---|
| 55 | - Added a new feature for the user to increase the number of waiting stacks. |
---|
| 56 | - Added Beam option for generating accelerator beams. |
---|
| 57 | - Added check whether the primary vertex is inside of the world volume. |
---|
| 58 | - G4PrimaryParticle now stores the proper trackID. |
---|
| 59 | - G4PrimaryTransformer: now considering case where a primary is |
---|
| 60 | placed on the boundary of the world volume. |
---|
| 61 | - G4GeneralParticleSource (GPS): implemented co-ordinates rotation for |
---|
| 62 | angular distribution. |
---|
| 63 | - Bug fix in G4EventManager in case G4_STORETRAJECTORY is off. |
---|
| 64 | - Moved set method of position and time from G4ParticleGun to |
---|
| 65 | G4VPrimaryGenerator so that G4HEPEvtInterface can accept the primary |
---|
| 66 | vertex position |
---|
| 67 | - Cleared compilation warnings on gcc-2.95.2. |
---|
| 68 | - Fixes to comply with removal of STLInterface. |
---|
| 69 | |
---|
| 70 | o Electromagnetic Processes (Low-energy): |
---|
| 71 | -------------------------------------- |
---|
| 72 | - Major revision of G4LowEnergyCompton, G4LowEnergyRayleigh and |
---|
| 73 | G4LowEnergyGammaConversion: re-implementation according to the design |
---|
| 74 | iteration in the data domain. |
---|
| 75 | - New version of data G4EMLOW0.5 required. |
---|
| 76 | - New classes for shell cross sections for proton-induced fluorescence. |
---|
| 77 | - First implementation of fluorescence process. |
---|
| 78 | - Introduced PIXE in G4hLowEnergyIonisation. |
---|
| 79 | - Significant physics an performance improvement in electron processes. |
---|
| 80 | - Added method to deactivate fluorescence in ionisation if needed. |
---|
| 81 | - Added protection in G4LowEnergyPhotoElectric to avoid generation of |
---|
| 82 | photons causing negative energy balance. |
---|
| 83 | - Fixed a problem of continuity of ion effective charge. |
---|
| 84 | - Fixed energy conservation problems for small range cuts in |
---|
| 85 | G4LowEnergyIonisation. |
---|
| 86 | - Introduced changes to allow multiple cuts per material (temporary). |
---|
| 87 | - Removed static inline methods to non inline. |
---|
| 88 | - Cleared compilation warnings on gcc-2.95.2. |
---|
| 89 | - Fixes to comply with removal of STLInterface. |
---|
| 90 | |
---|
| 91 | o Electromagnetic Processes (Standard): |
---|
| 92 | ------------------------------------ |
---|
| 93 | - Implemented mechanism for storing and retrieving Physics Tables. |
---|
| 94 | - Implemented new function ComputeRestrictedMeandEdx() for ionisation |
---|
| 95 | processes. |
---|
| 96 | - Implemented subcutoff delta-rays mechanism in G4VMuEnergyLoss. |
---|
| 97 | - Suppression of the production threshold in phot, compt, conv, annih |
---|
| 98 | processes. |
---|
| 99 | - Removed obsolete "integral" module. |
---|
| 100 | - Fixed old outstanding bug in G4EnergyLossTables, responsible for |
---|
| 101 | causing negative energy deposit in some occasions. |
---|
| 102 | - Introduced changes for reference-counted touchables. |
---|
| 103 | - Introduced changes to allow multiple cuts per material (temporary). |
---|
| 104 | - Removed static inline methods to non inline. |
---|
| 105 | - Cleared compilation warnings on gcc-2.95.2. |
---|
| 106 | - Fixes to comply with removal of STLInterface. |
---|
| 107 | |
---|
| 108 | o General Processes, Parameterisation, Decay, Optical: |
---|
| 109 | --------------------------------------------------- |
---|
| 110 | - management: |
---|
| 111 | o Added Set/GetProcessManager() to G4VProcess and modified |
---|
| 112 | G4ProcessManager::AddProcess() to invoke SetProcessManager(). |
---|
| 113 | o Fixed bug in copy constructor of G4ProcessManager. |
---|
| 114 | - parameterisation(s): |
---|
| 115 | o Added new classes describing X-ray transition radiation generation |
---|
| 116 | inside radiators (i.e. just along incident particle track): |
---|
| 117 | G4FoamXTRdEdx, G4GamDistrXTRdEdx, G4IrregularXTRdEdx, |
---|
| 118 | G4PlateIrrGasXTRdEdx, G4RegularXTRdEdx, G4VXTRdEdx, G4VXrayTRadModel. |
---|
| 119 | o Introduced changes in G4VClusterModel for reference-counted |
---|
| 120 | touchables. |
---|
| 121 | - optical: |
---|
| 122 | o Changed process name for G4OpRayleigh, G4OpBoundary and G4OpAbsorption. |
---|
| 123 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
| 124 | - Fixes to comply with removal of STLInterface. |
---|
| 125 | |
---|
| 126 | o Geometry: |
---|
| 127 | -------- |
---|
| 128 | - Introduced geometry/verification module for checking geometry for |
---|
| 129 | volumes overlaps. |
---|
| 130 | - Magnetic field: |
---|
| 131 | o Handling Electric Field and time-dependent fields. |
---|
| 132 | o Introduced ability to set field per volume. |
---|
| 133 | o New extended examples for field in examples/extended. |
---|
| 134 | o Added method in G4ChordFinder to erase/reset the state of the |
---|
| 135 | StepEstimate. This is unwanted internal state that was carried |
---|
| 136 | between tracks and events as a side effect. |
---|
| 137 | Calling this at the start of each track, it is now possible to |
---|
| 138 | eliminate a reported problem of non-repeatability. |
---|
| 139 | o Reduced maximum number of steps in G4MagIntegratorDriver. |
---|
| 140 | o Protected verbose warnings with G4DEBUG_FIELD flag in G4ChordFinder |
---|
| 141 | and G4MagIntegratorDriver. |
---|
| 142 | o G4FieldManager: added fFieldChangesEnergy data member and get/set |
---|
| 143 | methods. |
---|
| 144 | o Fixed interface to virtual functions in the inheritance chain of |
---|
| 145 | G4Field and subclasses. |
---|
| 146 | - Management: |
---|
| 147 | o Added definition of G4TouchableHandle. |
---|
| 148 | o Added class G4SmartVoxelStat for statistics on geometry optimisation |
---|
| 149 | of volumes through voxelisation. |
---|
| 150 | o Modified G4GeometryManager to make use of G4SmartVoxelStat when run |
---|
| 151 | in verbose mode: |
---|
| 152 | - added argument to CloseGeometry() method for verbosity |
---|
| 153 | - added ReportVoxelStats() method for reporting optimisation statistics. |
---|
| 154 | o Initialise noNodes to 1 in G4SmartVoxelHeader::BuildNodes() in case |
---|
| 155 | computed nodes for smartless happen to be zero. |
---|
| 156 | - Volumes: |
---|
| 157 | o Introduced G4GeometryMessenger associated to G4TransportationManager |
---|
| 158 | with following commands defined: |
---|
| 159 | - geometry/test/run - to start verification of geometry for overlapping |
---|
| 160 | regions based on standard grid setup. |
---|
| 161 | - geometry/test/line_test - to activate test along a specified |
---|
| 162 | direction and position user defined. |
---|
| 163 | - geometry/test/position - to specify position for the line_test. |
---|
| 164 | - geometry/test/direction - to specify direction for the line_test. |
---|
| 165 | - geometry/test/tolerance - to customise test precision. |
---|
| 166 | - geometry/navigator/reset - for resetting navigation history |
---|
| 167 | and position. |
---|
| 168 | o Added handles for reference counting: G4GRSSolidHandle, |
---|
| 169 | G4GRSVolumeHandle, G4TouchableHistoryHandle. |
---|
| 170 | o Modified G4Navigator for reference counted touchables. |
---|
| 171 | Introduced new methods CreateTouchableHistoryHandle() and |
---|
| 172 | LocateGlobalPointAndUpdateTouchableHandle(...). |
---|
| 173 | o G4PropagatorInField: |
---|
| 174 | - Added thresholds for number of steps with get/Set methods. |
---|
| 175 | - Modified choice of subsequent step size in case of zero steps. |
---|
| 176 | - Added GetCurrentFieldManager() method. |
---|
| 177 | - Added 'maximum' epsilon value. |
---|
| 178 | o G4Navigator: |
---|
| 179 | - Fixed mirroring of the input argument for global direction into |
---|
| 180 | local variable in LocateGlobalPointAndSetup(). |
---|
| 181 | - Added ResetState() method (that only reset state - not stack). |
---|
| 182 | - Added optional argument for direction to LocateGlobalPointAndSetup(). |
---|
| 183 | - State is now resetted when touchable history is used to |
---|
| 184 | re-initialise it. |
---|
| 185 | - Direction in LocateGlobalPointAndSetup() methods is now used. |
---|
| 186 | - solids/Boolean: |
---|
| 187 | o Introduced first implementation of classes G4ReflectedSolid and |
---|
| 188 | G4ReflectionFactory for reflections of positioned volumes based |
---|
| 189 | on simple CSG solids. |
---|
| 190 | o Introduced G4BOOLDEBUG flag and relaxed G4Exception calls with |
---|
| 191 | warnings to G4cerr for rare occurences of anomalous conditions. |
---|
| 192 | - solids/BREPS: |
---|
| 193 | o Fix in G4BSplineCurve::Init() for initialisation of point vector. |
---|
| 194 | o G4BREPSolidPolyhedra.cc: fixed situation when phi1 = 0 dphi1 = 2*pi |
---|
| 195 | and all RMINs = 0.0. In this case the inner planes are not created. |
---|
| 196 | - solids/CSG: |
---|
| 197 | o G4Sphere: bug fix in SurfaceNormal() for the case kNETheta. |
---|
| 198 | - solids/STEP & STEPinterface: |
---|
| 199 | o SdaiCONFIG_CONTROL_DESIGN.cc: cleaned up warnings issued on SUN-CC. |
---|
| 200 | o dirobj.cc: restored usage of strdup() and forced non-ANSI setup. |
---|
| 201 | o Fixes for compilation on gcc-2.96.98 and gcc-3.0.2 compilers. |
---|
| 202 | o G4Axis2Placement3dCreator::CreateG4Geometry(): added check to |
---|
| 203 | attribute validity for 'direction'. |
---|
| 204 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
| 205 | - Fixes to comply with removal of STLInterface. |
---|
| 206 | |
---|
| 207 | o Global: |
---|
| 208 | ------ |
---|
| 209 | - Introduced G4ReferenceCountedHandle templated class. |
---|
| 210 | - Modified G4Exception behavior, now setting G4StateManager to |
---|
| 211 | "abort" state instead of aborting the application. |
---|
| 212 | - Removed STLinterface module: |
---|
| 213 | o renamed cstring[.h.icc] to G4String[.hh.icc]. |
---|
| 214 | o renamed ctoken.h to G4Tokenizer.hh. |
---|
| 215 | |
---|
| 216 | o Graphics Representations: |
---|
| 217 | ------------------------ |
---|
| 218 | - Added G4Scale class. |
---|
| 219 | - Added G4Polyline::transform. |
---|
| 220 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
| 221 | |
---|
| 222 | o Hadronic Processes: |
---|
| 223 | ------------------ |
---|
| 224 | - Doppler broadening of low energy neutron cross-sections on the fly, |
---|
| 225 | enabling to simulate setups with mixed temperatures from 0K data files. |
---|
| 226 | - First release of chiral invariant phase-cpace decay. |
---|
| 227 | Usable now for electron and gamma nuclear reactions, and for pi- |
---|
| 228 | and anti-proton absorption. Also a cascade back-end replacement for |
---|
| 229 | string models. |
---|
| 230 | - First release of specialized models for neutron and proton scattering |
---|
| 231 | off Hydrogene, with particular focus on recoils. |
---|
| 232 | - First release of the evaporation and utilities parts of the HETC |
---|
| 233 | re-write. |
---|
| 234 | - Optimized memory usage of the neutron_hp transport code (gained an |
---|
| 235 | integer factor) |
---|
| 236 | - Maximized robustness: system tests now at O(5000) LHC event of hadronic |
---|
| 237 | energy flow; large-N tests with about a factor 100 more statistics. |
---|
| 238 | - Addition of gamma nuclar and electro nuclear reaction cross-sections. |
---|
| 239 | - Checking for tracking consistancy. |
---|
| 240 | - Added possibility to activate models for single elements/materials in |
---|
| 241 | one call |
---|
| 242 | - Now calling ResetNumberOfInteractionLengthLeft() rather than |
---|
| 243 | ClearNumberOfInteractionLengthLeft(). |
---|
| 244 | - Enabled logging in various places. |
---|
| 245 | - Fix for final state rotation from z; this can be done in general in |
---|
| 246 | the hadronic process framework layer. |
---|
| 247 | - Added G4PhotoNuclearProcess, G4PositronNuclearProcess, and |
---|
| 248 | G4ElectronNuclearProcess. |
---|
| 249 | - Optimised sampling of gaussian distributions. |
---|
| 250 | - Fixed a missing initialization of strangeness in the high energy |
---|
| 251 | models. |
---|
| 252 | - Fixed the particle production for low energy light ion reactions. |
---|
| 253 | - Bug fix for beta+ decay in radioactive decay (corrected Q-value). |
---|
| 254 | - Bug-fix in neutron induced isotope production code to allow for mixtures. |
---|
| 255 | - Bug-fix in the vector hash to allow for re-use of the hash tables. |
---|
| 256 | - Getting rid of the strstream portability problem between SUN and Linux. |
---|
| 257 | - Some conservative programming in the sampling vector, to allow for |
---|
| 258 | binary re-use of the hash. |
---|
| 259 | - Minor bug fix on gamma distributions in very special cases (yields and |
---|
| 260 | integral energy was correct, but distribution had a slight bias before). |
---|
| 261 | - Fix on elastic scattering final states: getting rid of a bias that was |
---|
| 262 | there for a particular data representation. Affects Xenon. |
---|
| 263 | - Fix for inelastic n->b+m*gamma channel; for the case of 4 gammas in the |
---|
| 264 | final state, the mass of the recoil was of by one under certain condition. |
---|
| 265 | (Mildly relevant for activation when simulating earth.) |
---|
| 266 | - Fix in Names finding for scattering off Hydrogen. |
---|
| 267 | - New calculation for compound radius in coulomb barrier calculation. |
---|
| 268 | - Reduced default vector size. |
---|
| 269 | - Added delete structs to the vectors. |
---|
| 270 | - Getting rid of the E-11ev gamma problem, and a few memory leaks |
---|
| 271 | introduced in the STL transition. |
---|
| 272 | - Templated qgs models with the type of participants to enable heavy ion |
---|
| 273 | collision simulation; heavy ion participants still to be fixed for |
---|
| 274 | impact of fermi momentum. |
---|
| 275 | - qgs model now also for kaons. |
---|
| 276 | - Enabled 'meson' splitting for incident gammas in quark gluon string |
---|
| 277 | model. |
---|
| 278 | - First tuning of pomeron trajectory and vertex parameters for incident |
---|
| 279 | gammas, assuming vector meson dominance; based on total reaction |
---|
| 280 | cross-section only; further improvement scheduled. |
---|
| 281 | - Fixed minimum mass constraint on string fragmentation in the |
---|
| 282 | presence of zeitgleiche multiple and multi pomoron exchange, and |
---|
| 283 | diffractive collisions. |
---|
| 284 | - Design iteration on string fragmentation. |
---|
| 285 | - Traced an elusing charge non-conservation to isotopic composition of |
---|
| 286 | Hydrogene, which is taken care of internally. |
---|
| 287 | - Bug-fix for splitting Omega- into partons. |
---|
| 288 | - Added transformation in pre-equilibrium decay. |
---|
| 289 | - Enabled tracing of colour, spin and iso-spin in the parton. |
---|
| 290 | - Some improvement on folding two resonance collision cross-section. |
---|
| 291 | - Cleared most compilation warnings and minor fixes for gcc-2.95.2 compiler. |
---|
| 292 | - Fixes to comply with removal of STLInterface. |
---|
| 293 | |
---|
| 294 | o Materials: |
---|
| 295 | --------- |
---|
| 296 | - G4Isotope, G4Element, G4Material: IndexInTable is now obtained |
---|
| 297 | dynamically via GetIndex(). |
---|
| 298 | - Added new function G4Materials::SetChemicalFormula(). |
---|
| 299 | - Fixed problems erasing when deleting Isotope, Element or Material objects. |
---|
| 300 | - Fixed memory leak in G4SandiaTable::ComputeMatSandiaMatrix(), |
---|
| 301 | for deletion of temporary vectors Z, tmp1, tmp2. |
---|
| 302 | - Moved definitions of G4IsotopeVector and G4ElementVector |
---|
| 303 | G4ElementTable and G4MaterialTable to the appropriate headers. |
---|
| 304 | - Removed static inline methods to non-inline. |
---|
| 305 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
| 306 | - Fixes to comply with removal of STLInterface. |
---|
| 307 | |
---|
| 308 | o Particles: |
---|
| 309 | --------- |
---|
| 310 | - Introduced G4NeutronBetaDecayChannel and added to G4Neutron. |
---|
| 311 | - Allow MassDifference in case of nucleon decay. |
---|
| 312 | - Fixed bug in copy constructor of G4DecayProduct. |
---|
| 313 | - Introduced changes to allow multiple cuts per material (temporary). |
---|
| 314 | - Removed static inline methods to non-inlined. |
---|
| 315 | - Cleared compilation warnings and minor fixed for gcc-2.95.2 compiler. |
---|
| 316 | - Fixes to comply with removal of STLInterface. |
---|
| 317 | |
---|
| 318 | o Persistency: |
---|
| 319 | ----------- |
---|
| 320 | - Fixes to comply with removal of STLInterface. |
---|
| 321 | - Fixed porting problems on gcc-2.95.2. |
---|
| 322 | |
---|
| 323 | o Run, Intercoms and Interfaces |
---|
| 324 | ----------------------------- |
---|
| 325 | - run: |
---|
| 326 | o Added new feature allowing to increase the number of waiting stacks. |
---|
| 327 | o Added Set/GetApplyCuts methods in G4VUserPhysicsList. |
---|
| 328 | o Added /run/particle/applyCuts command in G4UserPhysicsListMessenger. |
---|
| 329 | o Added GetVersionString() method to G4RunManager. |
---|
| 330 | o Added rndmSaveThisRun() and rndmSaveThisEvent() methods to G4RunManager. |
---|
| 331 | o Added /random/ commands to G4RunMessenger. |
---|
| 332 | o Fixed bugs in G4VUserPhysicsList. |
---|
| 333 | - intercoms: |
---|
| 334 | o Introduced feature for suppressing the program abortion due to |
---|
| 335 | G4Exception. |
---|
| 336 | o Introduced "Shell variables" for UI command handling. Added |
---|
| 337 | class G4UIaliasList. |
---|
| 338 | o Introduced loop execution of a macro file, recursive expansion of |
---|
| 339 | aliased variables, and some other new features in G4UImanager and |
---|
| 340 | related classes. |
---|
| 341 | New commands: /control/shell, /control/foreach, /control/loop, |
---|
| 342 | /control/createHTML. |
---|
| 343 | o Added G4VGraphicsScene::AddPrimitive(const G4Scale&). |
---|
| 344 | o Added G4VisManager::Draw(const G4Scale&,...). |
---|
| 345 | o Modified G4UIbatch to display (G4cerr) the error message. |
---|
| 346 | Comment lines are now displayed only for verbose level=2. |
---|
| 347 | o Included correction for string parameter starting with a space. |
---|
| 348 | o Fixed parsing of quoted (") tokens. |
---|
| 349 | o Fixed a problem for commands with doubled slash. |
---|
| 350 | - interfaces: |
---|
| 351 | o Re-engineered G4UI variables: |
---|
| 352 | changed GNUmakefile so that GAG, TERMINAL and TCSH built by default. |
---|
| 353 | Nothing built if G4UI_NONE is set. |
---|
| 354 | o G4VInteractorManager::RemoveDispatcher : change the remove logic in |
---|
| 355 | order to fix a disfunctionning with vis/OpenInventor driver. |
---|
| 356 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
| 357 | - Fixes to comply with removal of STLInterface. |
---|
| 358 | |
---|
| 359 | o Tracking & Track: |
---|
| 360 | ---------------- |
---|
| 361 | - track: |
---|
| 362 | o Fixed bug for velocity in method G4Step::UpdateTrack(). |
---|
| 363 | o Implemented assignment operator for G4ParticleChangeForRadDecay. |
---|
| 364 | o Fixed bug in assignment operator of G4Track. |
---|
| 365 | o Removed static inline methods to non inline. |
---|
| 366 | - tracking: |
---|
| 367 | o Added protection for tracks placed outside the world volume |
---|
| 368 | at the initial point. |
---|
| 369 | o Correction to the use the touchable Handle for secondary tracks, |
---|
| 370 | when it is available. Now the direction is used in locating a particle |
---|
| 371 | (primary or secondary) in SetInitialStep(). This is in order to assist |
---|
| 372 | in starting particles that are on/near-to boundaries in the correct |
---|
| 373 | volume. |
---|
| 374 | - Introduced changes for reference-counted touchables mechanism. |
---|
| 375 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
| 376 | - Fixes to comply with removal of STLInterface. |
---|
| 377 | |
---|
| 378 | o Transportation: |
---|
| 379 | -------------- |
---|
| 380 | - Motivated by the use case of an Electric Field, in order to achieve |
---|
| 381 | reasonable accuracy in time integration, and to enable fields that |
---|
| 382 | vary with the global time: |
---|
| 383 | o G4Transportation now try obtaining the delta_time from G4FieldTrack. |
---|
| 384 | - Introduced changes to G4Transportation for reference-counted touchables. |
---|
| 385 | Added methods GetFreeTouchable() and SetTheOtherTouchableFree(). |
---|
| 386 | - Added protection in G4Transportation::AlongStepGPIL for messaging |
---|
| 387 | "ResestStepEstimate" of G4ChordFinder for the case there is no global |
---|
| 388 | field. |
---|
| 389 | |
---|
| 390 | o Visualization: |
---|
| 391 | ------------- |
---|
| 392 | - Introduced new HepRep graphics driver. |
---|
| 393 | - Removed the need to specify environment variables for visualization |
---|
| 394 | drivers which do not need external packages or libraries. |
---|
| 395 | - Removed old-style commands. |
---|
| 396 | - Added commands: |
---|
| 397 | o /vis/scene/add/scale |
---|
| 398 | o /vis/viewer/flush = refresh + update. |
---|
| 399 | o /vis/viewer/set/upThetaPhi and upVector. |
---|
| 400 | o refresh|flush option to /vis/scene/notifyHandlers. |
---|
| 401 | - Moved /vis/viewer/lights and viewpoint to /vis/viewer/set. |
---|
| 402 | - Added G4ScaleModel. |
---|
| 403 | - Added G4VModel::SetExtent(const G4VisExtent&). |
---|
| 404 | - Added G4VisManager::Draw(const G4Scale&,...). |
---|
| 405 | - Added template graphics system XXX. |
---|
| 406 | - Re-implemented verbosity control. Output statements wherever possible |
---|
| 407 | are controlled by the verbosity in a simple graded message scheme. |
---|
| 408 | - Improved auto-refreshing. |
---|
| 409 | - Force rebuild of graphics "stores" (graphical databases) and, |
---|
| 410 | if auto-refresh is true, refresh of all views |
---|
| 411 | (/vis/scene/notifyHandlers) after an addition to scene. |
---|
| 412 | - Eliminated view parameters from G4VisManager. |
---|
| 413 | Paramenters can be copied from one view to another with: |
---|
| 414 | /vis/viewer/set/all |
---|
| 415 | - Updated G4RTJpegMaker for porting Windows systems. |
---|
| 416 | - OpenInventor : move HEPVis/SoWindow under vis/OpenInventor/G4SoWindow |
---|
| 417 | to prepare HEPVis/6.0. (HEPVis/SoWindow will disappear from HEPVis/6.0). |
---|
| 418 | - Fixed crash in optimised mode: added Initialise() to viewers so |
---|
| 419 | that windows are opened after viewers are fully constructed. |
---|
| 420 | - Corrected mistake which could cause crash if user specified a |
---|
| 421 | non-existent scene handler in /vis/sceneHandler/remove. |
---|
| 422 | - Fix for replica rotation matrix. It Fixes observed crashes in replica |
---|
| 423 | tracking with visualisation. |
---|
| 424 | - Fixed bug in G4VSceneHandler::AddPrimitive(const G4Scale&). |
---|
| 425 | - Fixed bug in G4VisManager::EndOfEvent. |
---|
| 426 | - Added README.quick, a quick installation guide. |
---|
| 427 | - Improved verbosity guidance and READMEs. |
---|
| 428 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
| 429 | - Fixes to comply with removal of STLInterface. |
---|
| 430 | |
---|
| 431 | o G4toG4 Tool: |
---|
| 432 | ----------- |
---|
| 433 | - Implemented reflection of CSG solids through G4ReflectionFactory |
---|
| 434 | class and G4ReflectedSolid. Added G3G4_NO_REFLECTION flag to exclude |
---|
| 435 | it if needed for cases not yet covered. |
---|
| 436 | - Added limited support for MANY volumes through adoption of boolean solids. |
---|
| 437 | - Changed G3Division::CreatePVReplica() to return a G4PhysicalVolumesPair. |
---|
| 438 | - Cleared compilation warnings on gcc-2.95.2 compiler. |
---|
| 439 | - Fixes to comply with removal of STLInterface. |
---|
| 440 | |
---|
| 441 | o Examples: |
---|
| 442 | -------- |
---|
| 443 | - Novice: |
---|
| 444 | o updated visualization macros. |
---|
| 445 | o updated vis-managers. |
---|
| 446 | - Extended: |
---|
| 447 | o new electromagnetic example "TestEm10" for exercising |
---|
| 448 | specific parameterisation models. |
---|
| 449 | o new examples for electro-magnetic field: field01, field02, field03. |
---|
| 450 | o updated vis-managers. |
---|
| 451 | - Advanced: |
---|
| 452 | o underground_physics: new example for simulation of an underground |
---|
| 453 | dark matter experiment. |
---|
| 454 | o xray_fluorescence: new simulation setup for the study the elemental |
---|
| 455 | composition of a planet through the measurement of the X-rays emitted. |
---|
| 456 | o new improved versions of existing advanced applications. |
---|
| 457 | - Cleared most compilation warnings on gcc-2.95.2 compiler. |
---|
| 458 | - Fixes to comply with removal of STLInterface. |
---|
| 459 | - Updated reference outputs. |
---|
| 460 | |
---|
| 461 | ---------------------------------------------------------------------------- |
---|
| 462 | |
---|
| 463 | Technical Notes |
---|
| 464 | --------------- |
---|
| 465 | |
---|
| 466 | o Geant4 4.0 is based on STL and can be installed with strict |
---|
| 467 | ISO/ANSI C++ compliant setup or not. See notes below. |
---|
| 468 | |
---|
| 469 | The code and some binary libraries are available through our "Source Code" |
---|
| 470 | Web page: |
---|
| 471 | - see our Geant4 Home Page (http://cern.ch/geant4). |
---|
| 472 | |
---|
| 473 | Please refer to the Geant4 User Documentation |
---|
| 474 | (http://cern.ch/geant4/G4UsersDocuments/Overview/html) |
---|
| 475 | for further information about using Geant4. |
---|
| 476 | |
---|
| 477 | |
---|
| 478 | Contents |
---|
| 479 | -------- |
---|
| 480 | |
---|
| 481 | 1. Supported and Tested Platforms |
---|
| 482 | 2. ANAPHE and CLHEP |
---|
| 483 | 3. The Standard Template Library (STL) |
---|
| 484 | 4. Persistency |
---|
| 485 | 5. Compiler Specific Problems |
---|
| 486 | 6. Known Run-Time Problems |
---|
| 487 | 7. Compilation Warnings |
---|
| 488 | 8. Known Run-Time Warnings |
---|
| 489 | |
---|
| 490 | |
---|
| 491 | 1. Supported and Tested Platforms |
---|
| 492 | --------------------------------- |
---|
| 493 | |
---|
| 494 | o SUN Solaris 5.7, C++ 5.2 Patch 109508-03. |
---|
| 495 | o Linux, gcc 2.95.2, egcs-2.91.66 (egcs 1.1.2). |
---|
| 496 | This configuration was tested with the RedHat 6.1 distribution, but |
---|
| 497 | versions of Geant4 have also been compiled successfully on more recent |
---|
| 498 | RedHat, Debian and Suse distributions. |
---|
| 499 | o NT 4.0 (Service Pack 4) or Windows-2000 and Cygnus Tools b20 with: |
---|
| 500 | Visual C++ 6.0 Service Pack 5 |
---|
| 501 | |
---|
| 502 | Platforms also tested but giving rise to some problems - see below: |
---|
| 503 | |
---|
| 504 | o DEC V4.0, cxx C++ V6.1-027. |
---|
| 505 | |
---|
| 506 | Platforms configured but not tested and not supported: |
---|
| 507 | o HP 10.20, aCC C++ B3910B A.01.23 |
---|
| 508 | o SGI V6.5.5, CC 7.2.1 with ObjectSpace |
---|
| 509 | o AIX 4.3.2, xlC compiler with ObjectSpace |
---|
| 510 | |
---|
| 511 | |
---|
| 512 | 2. ANAPHE and CLHEP |
---|
| 513 | ------------------- |
---|
| 514 | |
---|
| 515 | Geant4 4.0 requires the installation of CLHEP. |
---|
| 516 | |
---|
| 517 | See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html). |
---|
| 518 | Tests have been performed with CLHEP 1.7.0.0. |
---|
| 519 | |
---|
| 520 | By default, the CLHEP installation scripts will activate ISO/ANSI C++ features |
---|
| 521 | if the compiler is capable. You need to explicitly disable CLHEP settings in |
---|
| 522 | case you wish non-ISO/ANSI setup on specific compilers. |
---|
| 523 | |
---|
| 524 | Geant4 4.0 coworks with ANAPHE 3.6.5 and components included therein: |
---|
| 525 | Objectivity 6.1.3 |
---|
| 526 | HepODBMS 0.3.3.1 |
---|
| 527 | CLHEP 1.7.0.0 |
---|
| 528 | |
---|
| 529 | For more information about ANAPHE, see: http://cern.ch/anaphe |
---|
| 530 | |
---|
| 531 | |
---|
| 532 | 3. The Standard Template Library |
---|
| 533 | -------------------------------- |
---|
| 534 | |
---|
| 535 | Native versions of STL have been tested on the following platforms: |
---|
| 536 | |
---|
| 537 | Windows/2000, Linux, DEC and SUN. |
---|
| 538 | |
---|
| 539 | NOTES: |
---|
| 540 | |
---|
| 541 | - Platform specific setup: |
---|
| 542 | o DEC: Native STL is required for ISO/ANSI setup. |
---|
| 543 | o SUN: Native STL is required for ISO/ANSI setup (CC 5.2 only). |
---|
| 544 | o Linux: Native STL is required (non ISO/ANSI setup for egcs compiler only). |
---|
| 545 | o W2000: Native STL and ISO/ANSI setup required (VC++ 6.0). |
---|
| 546 | |
---|
| 547 | |
---|
| 548 | 4. Persistency |
---|
| 549 | -------------- |
---|
| 550 | |
---|
| 551 | Platform |
---|
| 552 | -------- |
---|
| 553 | |
---|
| 554 | Persistency in Geant4 4.0 release is tested on the following |
---|
| 555 | platforms: |
---|
| 556 | |
---|
| 557 | G4SYSTEM OS C++ compiler HepODBMS Objectivity |
---|
| 558 | --------- ----------- ------------ --------- ----------- |
---|
| 559 | SUN-CC SunOS 5.7 CC 5.2 0.3.3.1 6.1.3 (*) |
---|
| 560 | Linux-g++ RedHat 6.1 gcc-2.95.2 0.3.3.1 6.1.3 (#) |
---|
| 561 | |
---|
| 562 | (*) HepODBMS header files must be prepared with "ooddlx -noline" |
---|
| 563 | option. See below. |
---|
| 564 | (#) See g4odbms_setup[.sh.csh] in example PersistentEx01 in |
---|
| 565 | 'geant4/examples/extended/persistency' for example setup scripts. |
---|
| 566 | |
---|
| 567 | Known Problems |
---|
| 568 | -------------- |
---|
| 569 | |
---|
| 570 | - There are several warning messages on some platforms during the |
---|
| 571 | installation of the libraries and the compilation of the examples. |
---|
| 572 | Most of them can be safely ignored. It is annoying but hard to get |
---|
| 573 | rid of them due to various reasons. |
---|
| 574 | |
---|
| 575 | - If you are using Solaris7 CC compiler 5.2 (SUN-CC) with the original |
---|
| 576 | release version, persistent header files has to be generated by |
---|
| 577 | ooddlx with "-noline" option due to a bug in C++ compiler. |
---|
| 578 | This workaround applies not only to Geant4 Persistency category but |
---|
| 579 | also to HepODBMS, and the user defined ddl files as well. |
---|
| 580 | This is the default for SUN-CC configuration for Geant4 GNUmakefiles. |
---|
| 581 | When this option is turned on, it removes the "#line" directive of |
---|
| 582 | the file name and the line number of the original .ddl file. As a |
---|
| 583 | consequences, C++ compiler no longer "tells" the correct file name |
---|
| 584 | and the line number of the .ddl file if compiler error occurs. When |
---|
| 585 | you design a persistent object with Geant4 GNUmakefiles and get the |
---|
| 586 | compiler errors, try to identify the problem by first looking into |
---|
| 587 | the header file generated by ooddlx, and then locate the source of |
---|
| 588 | the problem by looking into the .ddl file. |
---|
| 589 | A patch to the compiler is released from SUN, and you may remove this |
---|
| 590 | option by commenting out the line: |
---|
| 591 | |
---|
| 592 | G4DDLX_FLAGS += -noline |
---|
| 593 | |
---|
| 594 | in the file $G4INSTALL/config/sys/SUN-CC.gmk. |
---|
| 595 | |
---|
| 596 | You can check the SUN-CC patch by the following command: |
---|
| 597 | |
---|
| 598 | % what `which CC` | grep RELEASE |
---|
| 599 | |
---|
| 600 | |
---|
| 601 | 5. Compiler Specific Problems |
---|
| 602 | ----------------------------- |
---|
| 603 | |
---|
| 604 | o DEC V4.0, cxx C++ V6.1-027. |
---|
| 605 | |
---|
| 606 | - We have found cases of mis-compilation of min and max templates |
---|
| 607 | on DEC. We have traced those which cause serious malfunction |
---|
| 608 | but there is no guarantee that there are no other cases. |
---|
| 609 | Detailed inspection of assembler output suggests that this |
---|
| 610 | problem might not be confined to min and max. This has been |
---|
| 611 | reported to DEC/Compaq. We understand a new version 6.2 of the |
---|
| 612 | compiler is now available. However we cannot guarantee correct |
---|
| 613 | execution of Geant4 on DEC with the current version of the |
---|
| 614 | compiler. |
---|
| 615 | - A bug in cin.getline() system function causes an anomalous |
---|
| 616 | behavior when running in interactive-mode on DEC-cxx 6.1 in |
---|
| 617 | ISO/ANSI mode. We tested the bug has been fixed in more recent |
---|
| 618 | versions of the compiler. |
---|
| 619 | |
---|
| 620 | |
---|
| 621 | 6. Known Run-Time Problems and Limitations |
---|
| 622 | ------------------------------------------ |
---|
| 623 | |
---|
| 624 | For a complete list of outstanding run-time problems and to submit any |
---|
| 625 | problem you may find running this version of Geant4, please refer to the |
---|
| 626 | Geant4 Problem Reporting System, available on the Web at this address: |
---|
| 627 | |
---|
| 628 | http://cern.ch/geant4/problemreport |
---|
| 629 | |
---|
| 630 | |
---|
| 631 | 7. Compilation Warnings |
---|
| 632 | ----------------------- |
---|
| 633 | |
---|
| 634 | There are compilation warnings on some platforms. We do not believe |
---|
| 635 | that any will lead to incorrect run-time behaviour, but we are working |
---|
| 636 | on reducing them. |
---|
| 637 | |
---|
| 638 | |
---|
| 639 | 8. Known Run-Time Warnings |
---|
| 640 | -------------------------- |
---|
| 641 | |
---|
| 642 | The following messages can be written to error output while tracking. We |
---|
| 643 | believe none give rise to incorrect behaviour. |
---|
| 644 | |
---|
| 645 | o G4PropagateInField: Warning: Particle is looping |
---|
| 646 | - tracking in field will be stopped. |
---|
| 647 | It has performed 10000 steps in Field while a maximum of 10000 |
---|
| 648 | are allowed. |
---|