| 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.
|
|---|