| [1337] | 1 |
|
|---|
| 2 | Geant4 5.0 Release Notes
|
|---|
| 3 | ------------------------
|
|---|
| 4 |
|
|---|
| 5 | 13th December 2002
|
|---|
| 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 |
|
|---|
| 12 | o Configuration:
|
|---|
| 13 | -------------
|
|---|
| 14 | - Specific setups:
|
|---|
| 15 | o Linux-g++.gmk: added assignment 'CC := gcc' for default 'cc' compiler.
|
|---|
| 16 | o SUN-CC.gmk: removed -L/usr/lib path specification from LOADLIBS
|
|---|
| 17 | definition.
|
|---|
| 18 | o AIX-xlC.gmk: updated for porting on AIX with xlC 6.0 (unsupported).
|
|---|
| 19 | o WIN32-g++.gmk: updated setup to compile with -ansi and gcc-2.95.3
|
|---|
| 20 | for most recent versions of CygWin (unsupported).
|
|---|
| 21 | o Darwin-g++.gmk: updated setup to support MacOS 10.2 (unsupported).
|
|---|
| 22 | - liblist.c:
|
|---|
| 23 | o Enhanced script to provide the whole list of installed libraries
|
|---|
| 24 | in the correct order, without requiring parsing of dependencies.
|
|---|
| 25 | The functionality is achieved by invoking "liblist" with option '-m",
|
|---|
| 26 | i.e. - liblist -m [libpath] < libname.map
|
|---|
| 27 | where [libpath] is the path where libraries are placed
|
|---|
| 28 | (i.e. $G4LIB/$G4SYSTEM).
|
|---|
| 29 | - binmake.gmk:
|
|---|
| 30 | o Use "liblist -m [libpath]" to retrieve the list of libraries to link
|
|---|
| 31 | in case headers are installed in $G4INCLUDE, and granular libraries
|
|---|
| 32 | are used.
|
|---|
| 33 | - Adopt new dependency file algorithm to avoid leaving corrupt .d files
|
|---|
| 34 | when #include's cannot be found.
|
|---|
| 35 | - Removed ODBMS setup. Now library for persistency is built as part of the
|
|---|
| 36 | kernel and specific implementations for persistency have been moved to
|
|---|
| 37 | examples. Setup for ODBMS no more required. G4USE_HEPODBMS is no longer
|
|---|
| 38 | used.
|
|---|
| 39 | - Removed obsolete setup for ObjectSpace-STL (G4USE_OSPACE and related
|
|---|
| 40 | variables). Removed obsolete variable G4USE_STL.
|
|---|
| 41 | - Made compilation of g3tog4 module optional (only if G4USE_G3TOG4 is
|
|---|
| 42 | defined). The module is not built by default.
|
|---|
| 43 |
|
|---|
| 44 | o Digitization & Hits:
|
|---|
| 45 | -------------------
|
|---|
| 46 | - Added classes for event scoring in module "detector":
|
|---|
| 47 | G4CellScoreComposer[.hh.cc], G4CellScoreValues.hh,
|
|---|
| 48 | G4CellStoreScorer[.hh.cc], G4TrackLogger[.hh.cc].
|
|---|
| 49 | - Added methods to G4VHit:
|
|---|
| 50 | virtual const G4std::vector<G4AttDef>* GetAttDefs/Values()
|
|---|
| 51 | - Added GetHit() and GetSize() to G4VHitsCollection.
|
|---|
| 52 | - Fixed minor memory leak in G4SDManager.
|
|---|
| 53 |
|
|---|
| 54 | o Event:
|
|---|
| 55 | -----
|
|---|
| 56 | - Added classes for scoring management:
|
|---|
| 57 | G4CellScorer[.hh.cc], G4CellScorerStore[.hh.cc],
|
|---|
| 58 | G4ScoreTable[.hh.cc], G4Scorer[.hh.cc].
|
|---|
| 59 | - Introduced first implementation of HepMC interfaces (not functional
|
|---|
| 60 | yet on Windows platforms, pending HepMC support in CLHEP).
|
|---|
| 61 | - Critical bug fix in G4PrimaryParticle for initialisation of non
|
|---|
| 62 | charged particles.
|
|---|
| 63 | - G4Event: introduced 'EventAborted' flag.
|
|---|
| 64 | - Added protection against user's mis-use of destruction of
|
|---|
| 65 | G4TrajectoryContainer.
|
|---|
| 66 | - Fix memory leak caused by deleting stacked tracks.
|
|---|
| 67 |
|
|---|
| 68 | o Electromagnetic Processes (Low-energy):
|
|---|
| 69 | --------------------------------------
|
|---|
| 70 | - Bug fix in delta-electron spectra.
|
|---|
| 71 | - Bug fix in simulation of EM processes in compounds.
|
|---|
| 72 | - Optimised loading of data in G4AugerData.
|
|---|
| 73 | - Fix in calculation of restricted energy loss of e-.
|
|---|
| 74 | - Fixed memory leak problem in G4AtomicTransition.
|
|---|
| 75 | - Bug fixes for ion ionisation, related to the interaction between
|
|---|
| 76 | energy loss and fluorescence.
|
|---|
| 77 | - Bug fix in G4BremsstrahlungParameters, to load EEDL correctly.
|
|---|
| 78 | Fixes problem report #430.
|
|---|
| 79 | - New model for angular distribution in Rayleigh.
|
|---|
| 80 | Fixes problem report #406.
|
|---|
| 81 | - Optimisation of tables in G4LowEnergyIonisation, G4eLowEnergyLoss,
|
|---|
| 82 | G4hLowEnergyLoss and G4hLowEnergyIonisation.
|
|---|
| 83 |
|
|---|
| 84 | o Electromagnetic Processes (Standard):
|
|---|
| 85 | ------------------------------------
|
|---|
| 86 | - Introduced new prototype implementation of model-dependent processes:
|
|---|
| 87 | G4MuBremsstrahlungSTD, G4MuIonisationSTD, G4MuPairProductionSTD,
|
|---|
| 88 | G4eBremsstrahlungSTD, G4eIonisationSTD, G4hIonisationSTD.
|
|---|
| 89 | G4MultipleScatteringSTD, G4VEnergyLossSTD, G4EnergyLossMessengerSTD.
|
|---|
| 90 | - G4Scintillation:
|
|---|
| 91 | o now allowing for fast and slow components. Scintillation properties
|
|---|
| 92 | are stored with the material and retrieved with GetConstProperty().
|
|---|
| 93 | o now allowing for particle dependent excitation levels.
|
|---|
| 94 | o using Poisson distribution (G4Poissin) for small MeanNumPhotons in
|
|---|
| 95 | a step.
|
|---|
| 96 | o using the nearest integer to calculate the number of photons in DoIt().
|
|---|
| 97 | - G4MultipleScattering:
|
|---|
| 98 | o Bug fix in PostStepDoIt() for lateral displacement.
|
|---|
| 99 | o Corrected angle distribution and fixes in the boundary algorithm.
|
|---|
| 100 | This new parameterisation improves the ~100 MeV proton scattering.
|
|---|
| 101 | - G4eBremsstrahlung::BuiltLossTable(): fixed rare cases of division by 0.
|
|---|
| 102 | - GammaConversionToMuons: corrected syntax of OR conditions in DoIt().
|
|---|
| 103 | - G4VEnergyLoss: fix for gaussian fluctuations sampling at very low energy.
|
|---|
| 104 | - Fixes in proton scattering and LossTableBuilder.
|
|---|
| 105 | - G4PAIonisation[.hh.icc.cc]: patched access to public static data.
|
|---|
| 106 | Added static accessor to be used in the kernel for inline functions
|
|---|
| 107 | to allow porting on Windows DLLs.
|
|---|
| 108 |
|
|---|
| 109 | o General Processes, Parameterisation, Decay, Optical:
|
|---|
| 110 | ---------------------------------------------------
|
|---|
| 111 | - Added new command /process/setVerbose for G4ProcessTableMessenger.
|
|---|
| 112 | - Fixed memory leak in G4ProcessTable::Insert().
|
|---|
| 113 | - Optical processes: fixed calculation of polarization on dielectric
|
|---|
| 114 | dielectric interfaces. Fixes problem report #427.
|
|---|
| 115 | - Fast simulation management:
|
|---|
| 116 | o Added method to retrieve G4VFastSimulationModel by name
|
|---|
| 117 | G4GlobalFastSimulationManager::GetFastSimulationModel().
|
|---|
| 118 | The method is matched also in G4FastSimulationManager.
|
|---|
| 119 | o Patched access to public static data in G4FastStep.cc and
|
|---|
| 120 | G4GlobalFastSimulationManager.cc to allow porting on Windows DLLs.
|
|---|
| 121 |
|
|---|
| 122 | o Geometry:
|
|---|
| 123 | --------
|
|---|
| 124 | - Importance biasing
|
|---|
| 125 | o New design iteration for importance biasing and scoring and
|
|---|
| 126 | reorganisation of classes to proper modules (digits+hits/detector,
|
|---|
| 127 | event and processes/transportation).
|
|---|
| 128 | + no biasing is applied between cells that are not known by
|
|---|
| 129 | the G4IStore and its neighbors.
|
|---|
| 130 | + importance value 0 is allowed to flag that no biasing should
|
|---|
| 131 | be done betweeen the cell and its neighbors.
|
|---|
| 132 | + changed G4ParallelNavigator to use G4TouchableHanle and
|
|---|
| 133 | LocateGlobalPointAndSetup().
|
|---|
| 134 | + renamed G4VPScorer to G4VScorer and G4PStep to G4GeometryCellStep
|
|---|
| 135 | + changes to handle 'pre' and 'post' importance in
|
|---|
| 136 | G4(V)ImportanceAlgorithm, G4ImportanceSplitExaminer and
|
|---|
| 137 | G4ImportanceFinder.
|
|---|
| 138 | + renamed G4PTouchableKey to G4GeometryCell.
|
|---|
| 139 | + removed G4VPrintableScorer.hh G4VPrintableScorerFactory.hh.
|
|---|
| 140 | + added G4VCellScorer.hh and G4VCellScorerStore.hh.
|
|---|
| 141 | - Management
|
|---|
| 142 | o Added checks for illegal geometry contructions for G4PVReplica and
|
|---|
| 143 | G4PVParameterised. Contructors now verify unicity of daughter volumes
|
|---|
| 144 | for replicas and parameterised volumes, as well as checks for attempt
|
|---|
| 145 | to replicate/parameterise the world volume.
|
|---|
| 146 | o Added pure virtual method StreamInfo() in G4VSolid to stream contents
|
|---|
| 147 | of a solid to a generic output stream. Interface change required for
|
|---|
| 148 | all derived concrete solids.
|
|---|
| 149 | Added method DumpInfo() using StreamInfo() to dump contents to the
|
|---|
| 150 | standard output.
|
|---|
| 151 | o G4AssemblyVolume:
|
|---|
| 152 | + Fixed bug #409 concerning missing imprint counter method.
|
|---|
| 153 | + Fixed bug #410 concerning the internal counting mechanism.
|
|---|
| 154 | Added accessor methods for retrieving the instance ID.
|
|---|
| 155 | o Added new method IsParameterised() for G4PVParameterised and
|
|---|
| 156 | G4PVPlacement, to enquire for existing parameterisation for a placed
|
|---|
| 157 | volume.
|
|---|
| 158 | o Added methods IsParameterised() and GetMultiplicity() for G4PVReplica
|
|---|
| 159 | and G4VPhysicalVolume to enquire for existing parameterisation of
|
|---|
| 160 | placed volume, and number of replicated volumes.
|
|---|
| 161 | o Fixed bug in G4GeometryManager for the initialisation of
|
|---|
| 162 | fine-grained timer for voxelisation statistics.
|
|---|
| 163 | o Correction in G4LogicalVolume to allow correct propagation of the
|
|---|
| 164 | Field Manager to the daughter volumes. Fixes bug report for field
|
|---|
| 165 | by logical volume.
|
|---|
| 166 | - Solids
|
|---|
| 167 | o Implemented mechanism for dumping contents of solids to streams.
|
|---|
| 168 | o G4Cons: bug fixed in DistanceToIn(p,v) concerning z-crossing at
|
|---|
| 169 | the edge with Rmin,Rmax.
|
|---|
| 170 | o Boolean solids:
|
|---|
| 171 | + Added method CleanTransformations() to G4DisplacedSolid and
|
|---|
| 172 | corrected implementation in destructor of G4BooleanSolid not to
|
|---|
| 173 | call for deletion of G4VSolid in the case where displacement is used.
|
|---|
| 174 | Fixes a problem noticed on Linux-g++ at application closeout for
|
|---|
| 175 | double deletion of a solid in such special case.
|
|---|
| 176 | o BREPS solids:
|
|---|
| 177 | + Fix in G4BREPSolidPCone in construction for creation of
|
|---|
| 178 | begin & end planar surfaces in the case where
|
|---|
| 179 | [RMIN[0] == 0.0 && RMAX[0] > 0.0] and/or
|
|---|
| 180 | [RMIN[sections] == 0.0 && RMAX[sections] > 0.0].
|
|---|
| 181 | Fixes problem report #419.
|
|---|
| 182 | + G4Ray, G4Surface: made static inline methods not inlined
|
|---|
| 183 | to allow porting on Windows DLLs.
|
|---|
| 184 | o Specific solids: fixed un-initialised data members in constructors
|
|---|
| 185 | of classes: G4ClippablePolygon, G4EnclosingCylinder, G4PolyconeSide,
|
|---|
| 186 | G4ReduciblePolygon, G4VCSGfaceted.
|
|---|
| 187 | o STEPinterface: made all static inline methods not inlined,
|
|---|
| 188 | to allow porting on Windows DLLs.
|
|---|
| 189 | o Some general cleanup.
|
|---|
| 190 | - Verification
|
|---|
| 191 | o G4GeomTestVolume: fixed recursive call to G4GeomTestVolume to
|
|---|
| 192 | consider also 'tolerance' as argument in the recursive test algorithm.
|
|---|
| 193 | - Volumes
|
|---|
| 194 | o Introduced abstract class G4VCurvedTrajectoryFilter, and created
|
|---|
| 195 | class G4IdentityTrajectoryFilter, concrete filter for trajectory
|
|---|
| 196 | points.
|
|---|
| 197 | o Code cleanup and cosmetics for most classes.
|
|---|
| 198 | o G4PropagatorInField:
|
|---|
| 199 | + Fix in ComputeStep() to correctly handle cases when tracks
|
|---|
| 200 | get killed.
|
|---|
| 201 | + Introduced memory of Charge Mass and Momentum in order for it to
|
|---|
| 202 | message the correct ChordFinder at each step. Fixes problem observed
|
|---|
| 203 | when multiple field managers are used.
|
|---|
| 204 | + Removed not-implemented constructor taking G4Navigator* as argument.
|
|---|
| 205 | + Get rid of static const data for default 'epsilonStep' size.
|
|---|
| 206 | + Initialised all data members in constructor!
|
|---|
| 207 | o G4BlockingList.cc: fixed initialisation of fBlockTagNo.
|
|---|
| 208 | Fixes warnings reported by Valgrind to G4BlockingList,
|
|---|
| 209 | G4VoxelNavigation and G4ParameterisedNavigation.
|
|---|
| 210 | o Formatting cleanup in source implementation files.
|
|---|
| 211 |
|
|---|
| 212 | o Global:
|
|---|
| 213 | ------
|
|---|
| 214 | - Introduced new G4Exception scheme based on severity level.
|
|---|
| 215 | Added enumeration G4ExceptionSeverity.
|
|---|
| 216 | o Modified : G4VStateDependent[.hh.cc], G4Exception.cc,
|
|---|
| 217 | G4StateManager.hh and globals.hh
|
|---|
| 218 | - Migration to new G4ApplicationState, prepending "G4State_" to each
|
|---|
| 219 | application state ID.
|
|---|
| 220 | - G4Allocator: moved page size to become data-member of G4Allocator.
|
|---|
| 221 | 'fPageSize' is now computed according to the size of the object
|
|---|
| 222 | to be allocated. The default size is 1024 bytes for objects whose
|
|---|
| 223 | size is less than 512 bytes, 10 times the size of the object otherwise.
|
|---|
| 224 | - G4UnitsTable: made GetUnitsTable() static method not inlined.
|
|---|
| 225 | - G4Integrator: plugged minor memory leak and fixed uninitialised values.
|
|---|
| 226 |
|
|---|
| 227 | o Graphical representations:
|
|---|
| 228 | -------------------------
|
|---|
| 229 | - Introduced classes G4AttDef, G4AttDefStore and G4AttValue.
|
|---|
| 230 | - Added const G4std::vector<G4AttValue>* fAttValues/Defs to
|
|---|
| 231 | G4VisAttributes.
|
|---|
| 232 | - HepPolyhedron:
|
|---|
| 233 | o added methods createTwistedTrap() and createPolyhedron().
|
|---|
| 234 | o minor bug fix in method GetFacet().
|
|---|
| 235 | o changed inline static methods to not inlined.
|
|---|
| 236 | - Small revison of G4Scale and improvements in G4VMarker class description.
|
|---|
| 237 | - G4Colour class description corrected.
|
|---|
| 238 | - Patched access to public static data in G4Scale and G4VisAttributes.
|
|---|
| 239 | Added static accessors to be used in the kernel to allow porting on
|
|---|
| 240 | Windows DLLs.
|
|---|
| 241 |
|
|---|
| 242 | o Hadronic Processes:
|
|---|
| 243 | ------------------
|
|---|
| 244 | - cross_sections
|
|---|
| 245 | + added protection for low nuclear mass limit in high precision classes
|
|---|
| 246 | for neutron and proton nuclear scattering
|
|---|
| 247 | + added protection in electro-nuclear scattering (solves the problem
|
|---|
| 248 | seen in CMS, linear collider, and electron beam-dump studies)
|
|---|
| 249 | + added alternative description of pion nuclear reactions cross-sections
|
|---|
| 250 | (G4PiNuclearCrossSection), affecting in particular the absorption
|
|---|
| 251 | dominated (T<500MeV) region.
|
|---|
| 252 | - management
|
|---|
| 253 | + changed the memory management policy for model classes
|
|---|
| 254 | (G4HadronicInteraction derived), so they get deleted exactly once,
|
|---|
| 255 | no matter what the physics list looks like.
|
|---|
| 256 | - processes
|
|---|
| 257 | + corrected documentation for electro and gamma nuclear process classes.
|
|---|
| 258 | - stopping
|
|---|
| 259 | + fixed light material problem and neutrino-flavour problem in
|
|---|
| 260 | muon-nuclear scatterering
|
|---|
| 261 | - util
|
|---|
| 262 | + enabled tracing of originator model (in development mode) for more
|
|---|
| 263 | detailed verfication
|
|---|
| 264 | + more work on energy conservation for low energy models in the case
|
|---|
| 265 | of annihilation events, charge exchange reactions, and strangeness
|
|---|
| 266 | production.
|
|---|
| 267 | - models/cascade
|
|---|
| 268 | + first release of the cascade part of the HETC re-write
|
|---|
| 269 | - models/chiral_inv_phase_space
|
|---|
| 270 | + bug fixes, and revised rho width.
|
|---|
| 271 | - models/coherent_elastic
|
|---|
| 272 | + removed some conservative programming in favour of performance.
|
|---|
| 273 | - models/high_energy
|
|---|
| 274 | + fixed known bug in the Cross method, and energy non-conservation
|
|---|
| 275 | problems in cases of strangeness production and anti-particle
|
|---|
| 276 | reactions
|
|---|
| 277 | - models/leading_particle
|
|---|
| 278 | + extended neutron spectrum to reach below 1 MeV
|
|---|
| 279 | - models/low_energy
|
|---|
| 280 | + improved treatement of the K0 system.
|
|---|
| 281 | + removed long-standing (small) memory leak in light ion reactions
|
|---|
| 282 | + improved treatement of pion absorption at lowest energies
|
|---|
| 283 | - models/neutron_hp
|
|---|
| 284 | + added description of inelastic channel in case no energy distributions
|
|---|
| 285 | are given, and there are exactely two secondaries
|
|---|
| 286 | Fixes a problem seen in neutron scattering off iron
|
|---|
| 287 | + added protection a case where cross-sections went negative in
|
|---|
| 288 | non-linear interpolation mode
|
|---|
| 289 | + added an exception in case heavy elements with no data provided are
|
|---|
| 290 | searched for
|
|---|
| 291 | - models/de_excitation
|
|---|
| 292 | + new feature: internal conversion now available
|
|---|
| 293 | + fixes for integration problem in multi-fragmentation and random
|
|---|
| 294 | numbers generation
|
|---|
| 295 | - models/radiative_decay
|
|---|
| 296 | + now also using internal conversion
|
|---|
| 297 | - models/high_energy
|
|---|
| 298 | + cleared compilation warnings
|
|---|
| 299 | - models/kinetic_model
|
|---|
| 300 | + first release of the binary-cascade model
|
|---|
| 301 | - models/management
|
|---|
| 302 | + added coulomb barrier information to nucleus interface
|
|---|
| 303 | - models/pre_equilibrium
|
|---|
| 304 | + enabled source tracing in developer mode
|
|---|
| 305 | + fixed rare integration problem in the probability distribution
|
|---|
| 306 | function for ion emission
|
|---|
| 307 | - models/quark_gluon_string
|
|---|
| 308 | + added developer mode
|
|---|
| 309 | - models/scattering
|
|---|
| 310 | + First release of the generic scattering term, currently used by
|
|---|
| 311 | binary cascade.
|
|---|
| 312 | - models/string_fragmentation
|
|---|
| 313 | + removed some conservative programming
|
|---|
| 314 | - models/util
|
|---|
| 315 | + added coulomb barrier to nucleus' public interface
|
|---|
| 316 | + kinetic track now decay in cascade type codes with correct life-time
|
|---|
| 317 | + track 4-momentum can now be updated by specifying new energy
|
|---|
| 318 | - New data required for photon-evaporation and radioactive decay databases.
|
|---|
| 319 | - High precision neutron code will work with G4NDL0.2 through G4NDL3.7.
|
|---|
| 320 |
|
|---|
| 321 |
|
|---|
| 322 | o Magnetic Field:
|
|---|
| 323 | --------------
|
|---|
| 324 | - G4FieldManager:
|
|---|
| 325 | o made 'fDefault_Delta_One_Step_Value' and
|
|---|
| 326 | 'fDefault_Delta_Intersection_Val' non static constants to resolve
|
|---|
| 327 | initialisation problems. Fixes problem report #383.
|
|---|
| 328 | - G4ChordFinder:
|
|---|
| 329 | o fixed case of stepTrial >> stepTrialOld, for large multiple.
|
|---|
| 330 | o added guard for null stepTrial in FindNextChord().
|
|---|
| 331 | o correction from zero dChord in case of not-updated 'Unconstrained'
|
|---|
| 332 | step estimate (state).
|
|---|
| 333 | o Added instance variables to store number of calls and chord-trials.
|
|---|
| 334 | - G4EquationOfMotion:
|
|---|
| 335 | o made RightHandSide() inlined.
|
|---|
| 336 | o changed signature of Point in GetFieldValue(), now double[4].
|
|---|
| 337 | - Protection against division by 0 in
|
|---|
| 338 | G4MagIntegratorDriver::ComputeNewStepSize.
|
|---|
| 339 | - Fixes for unitialised variables in G4MagIntegratorStepper,
|
|---|
| 340 | G4FieldTrack, G4MagErrorStepper, G4Mag_SpinEqRhs, G4ExplicitEuler,
|
|---|
| 341 | and G4ImplicitEuler
|
|---|
| 342 | - Fixed memory leaks in G4ImplicitEuler and ExplicitEuler.
|
|---|
| 343 |
|
|---|
| 344 | o Materials:
|
|---|
| 345 | ---------
|
|---|
| 346 | - G4Material: removed constructors with chemical formula.
|
|---|
| 347 | - Added constant material properties to G4MaterialPropertiesTable.
|
|---|
| 348 | - G4IonisParamElm: fix in excitation energy interpolation.
|
|---|
| 349 | - G4IonisParamMat: added methods to Set/Find the mean excitation energy.
|
|---|
| 350 |
|
|---|
| 351 | o Particles:
|
|---|
| 352 | ---------
|
|---|
| 353 | - Updated mass width for resonance particles.
|
|---|
| 354 | - Fixed PDG codes for k0_star(1430), a0(1450) and f0(1370).
|
|---|
| 355 | - Made static inline method G4VDecayChannel::GetNoName() not inlined
|
|---|
| 356 | for porting on Windows DLLs.
|
|---|
| 357 |
|
|---|
| 358 | o Persistency:
|
|---|
| 359 | -----------
|
|---|
| 360 | - Implementation of abstract layer for persistency. Removed ODBMS
|
|---|
| 361 | specific implementation and setup. Now persistency library is part of
|
|---|
| 362 | the Geant4 kernel (see documentation on user manuals for details)
|
|---|
| 363 | o HepMC is not currently supported by CLHEP on Windows, so HepMC
|
|---|
| 364 | persistency is temporarly excluded from compilation on Windows.
|
|---|
| 365 |
|
|---|
| 366 | o Run, Intercoms and Interfaces
|
|---|
| 367 | -----------------------------
|
|---|
| 368 | - G4RunManager, G4RunMessenger:
|
|---|
| 369 | o Introduced "soft abortion", to allow event loop to abort after
|
|---|
| 370 | processing the current event. G4RunManager sets "eventAbortion"
|
|---|
| 371 | flag of G4Event if that particular event is aborted.
|
|---|
| 372 | o Introduced AbortEvent() method and corresponding UI command.
|
|---|
| 373 | - Introduced new G4Exception scheme: added G4ExceptionHandler class.
|
|---|
| 374 | - G4RunManager: introduced ResetNavigator() method needed in cases
|
|---|
| 375 | where a geometry has been modified between runs in order to properly
|
|---|
| 376 | re-initialize navigator's state.
|
|---|
| 377 | - Added two new pure virtual functions to G4VGraphicsScene:
|
|---|
| 378 | void AddThis(const G4VTrajectory&)
|
|---|
| 379 | void AddThis(const G4VHit&)
|
|---|
| 380 | - Fixed uninitialized data member and minor memory leak in G4UIcommand.
|
|---|
| 381 | - Fixed G4UIArrayStrings to work for "konsole" type termcap.
|
|---|
| 382 | - Patched access to public static data in G4VGlobalFastSimulationManager
|
|---|
| 383 | and G4VVisManager. Added static accessors to be used in the kernel to
|
|---|
| 384 | allow porting on Windows DLLs.
|
|---|
| 385 |
|
|---|
| 386 | o Tracking & Track:
|
|---|
| 387 | ----------------
|
|---|
| 388 | - Extensions of G4VTrajectory and introduction of curved trajectories
|
|---|
| 389 | o Added classes G4SmoothTrajectory and G4SmoothTrajectoryPoint.
|
|---|
| 390 | o Implemented default Show/DrawTrajectory() in G4VTrajectory.
|
|---|
| 391 | - G4SteppingManager:
|
|---|
| 392 | o implemented new ForceCondition flag StronglyForced.
|
|---|
| 393 | o fixed problem observed with optical processes.
|
|---|
| 394 | - G4TrackingManager
|
|---|
| 395 | o Re-implemented EventAborted() method to ensure this command
|
|---|
| 396 | works properly during stepping phase.
|
|---|
| 397 | o Set fpTrajectory pointer to zero when the trajectory is deleted.
|
|---|
| 398 | - Added accessors to auxiliary point vector, in both G4Step and
|
|---|
| 399 | G4ParticleChangeForTransport.
|
|---|
| 400 | - Set 'fUndefined' for the StepStatus in G4PostStepPoint.
|
|---|
| 401 | - Fixed initialisation of 'fCharge' in G4StepPoint constructor.
|
|---|
| 402 | - Patched access to public static data in G4VParticleChange.
|
|---|
| 403 | Added accessors to be used in the kernel to allow porting on
|
|---|
| 404 | Windows DLLs.
|
|---|
| 405 |
|
|---|
| 406 | o Transportation:
|
|---|
| 407 | --------------
|
|---|
| 408 | - G4Transportation: enable use of smooth (curved) trajectories.
|
|---|
| 409 | - Design iteration for standard scoring and class reorganisation
|
|---|
| 410 | o changed sampler concept: instead of separate samplers for
|
|---|
| 411 | all combinations of importance sampling, scoring, weight roulette
|
|---|
| 412 | for parallel and mass geometry, two samplers now are used
|
|---|
| 413 | for the mass and parallel geometry: G4MassGeometrySampler
|
|---|
| 414 | and G4ParallelGeometrySampler.
|
|---|
| 415 | o bug fixes in G4MassGeometrySampler, G4ParallelGeometrySampler,
|
|---|
| 416 | and G4MassGeometry.
|
|---|
| 417 | o moved G4CellStoreScorer, G4TrackLogger to digits+hits/detector.
|
|---|
| 418 |
|
|---|
| 419 | o Visualization:
|
|---|
| 420 | -------------
|
|---|
| 421 | - New implementation of HepRep driver (version 2).
|
|---|
| 422 | - Precision control of g4_XX.prim files are now generated by the
|
|---|
| 423 | DAWNFILE/DAWN-Network drivers, by use of a new variable for tuning
|
|---|
| 424 | precision G4DAWNFILE_PRECISION. Default precision is now set to
|
|---|
| 425 | 9 digits.
|
|---|
| 426 | - Fix (removal) of ambiguous G4VVisCommand::GetNewDoubleValue().
|
|---|
| 427 | - Added /vis/viewer/set/globalMarkerScale.
|
|---|
| 428 | - Improved algorithm of CompareForKernelVisit on OpenGL and OpenInventor.
|
|---|
| 429 | - OpenGL driver: fixes for WIN32 architecture at compilation level.
|
|---|
| 430 | Viewer still to be implemented.
|
|---|
| 431 | - Patched access to static data in G4VisCommandsSceneAdd.cc,
|
|---|
| 432 | G4VisManager.cc and G4FlavoredParallelWorldModel.cc to allow porting
|
|---|
| 433 | on Windows DLLs.
|
|---|
| 434 | - Corrected inclusion of G4OpenGLXViewer #ifdef X_DRIVER for Windows
|
|---|
| 435 | and other small changes in OpenGL.
|
|---|
| 436 | - Added integer argument to /vis/scene/add/trajectories [drawing-mode].
|
|---|
| 437 | drawing-mode is passed to DrawTrajectory.
|
|---|
| 438 | - Fixed bug in G4VisManager wich lead to zero G4VModel pointer.
|
|---|
| 439 | - Improved handling of models.
|
|---|
| 440 | - Fixed division-by-zero cases in G4RayTracer.
|
|---|
| 441 | - VRML driver: bug fix for marker size.
|
|---|
| 442 | - Improved end of run behaviour for non-post-processing graphics systems.
|
|---|
| 443 |
|
|---|
| 444 | o g3tog4 tool:
|
|---|
| 445 | -----------
|
|---|
| 446 | - Fix in G4gsdvn G4gsposp to enable larger number of clone volumes
|
|---|
| 447 | - Fix for division defined in a mother with not yet defined parameters.
|
|---|
| 448 |
|
|---|
| 449 | o data
|
|---|
| 450 | ----
|
|---|
| 451 | - Updated data-sets for:
|
|---|
| 452 | o PhotonEvaporation: data-base now includes internal conversion
|
|---|
| 453 | coefficients.
|
|---|
| 454 | o RadiativeDecay.
|
|---|
| 455 |
|
|---|
| 456 | o Examples:
|
|---|
| 457 | --------
|
|---|
| 458 | - advanced:
|
|---|
| 459 | + Migration of most examples to use AIDA 3.X for histogramming.
|
|---|
| 460 | + Added "composite_calorimeter" example based on CMS test-beam setup.
|
|---|
| 461 | + Added "lAr_calorimeter" example based on ATLAS lAr-calorimeter
|
|---|
| 462 | test-beam setup.
|
|---|
| 463 | + underground_physics:
|
|---|
| 464 | o Updates to cope with new interface for G4scintillation process.
|
|---|
| 465 | o Updated geometry for better comparison with data. Corrected
|
|---|
| 466 | overlapping volumes and inefficient physics list.
|
|---|
| 467 | - extended
|
|---|
| 468 | o analysis
|
|---|
| 469 | + added "A01" example for usage of analysis and HepRep.
|
|---|
| 470 | o biasing
|
|---|
| 471 | + reduced examples to three:
|
|---|
| 472 | B01 - importance sampling and scoring. Importance values are
|
|---|
| 473 | defined according to the mass geometry. Scoring performed.
|
|---|
| 474 | B02 - uses a parallel geometry to define G4GeometryCell objects
|
|---|
| 475 | for scoring and importance sampling. In addition it customizes
|
|---|
| 476 | the scoring. In this example one scorer creates a histogram.
|
|---|
| 477 | It can be run through a Python script.
|
|---|
| 478 | B03 - importance sampling and scoring interactively through Python.
|
|---|
| 479 | o electromagnetic:
|
|---|
| 480 | + migrated histogramming to AIDA 3.X.
|
|---|
| 481 | + fixes to allow compilation in gcc-3.2 (TestEm1, TestEm2, TestEm3).
|
|---|
| 482 | o eventGenerator
|
|---|
| 483 | + enhanced interface to HepMC to use CLHEP module.
|
|---|
| 484 | o gdml:
|
|---|
| 485 | + fixed warnings on SUN and SUN linker problem.
|
|---|
| 486 | o persistency
|
|---|
| 487 | + introduced example (PersEx01) for persistency of calorimeter hits
|
|---|
| 488 | using ROOT-I/O.
|
|---|
| 489 | + removed old ODBMS-based examples.
|
|---|
| 490 | - novice
|
|---|
| 491 | o N06: updates according to new interface for G4Scintillation process.
|
|---|
| 492 |
|
|---|
| 493 | ----------------------------------------------------------------------------
|
|---|
| 494 |
|
|---|
| 495 | Technical Notes
|
|---|
| 496 | ---------------
|
|---|
| 497 |
|
|---|
| 498 | The code and some binary libraries are available through our "Source Code"
|
|---|
| 499 | Web page:
|
|---|
| 500 | - see our Geant4 Home Page (http://cern.ch/geant4).
|
|---|
| 501 |
|
|---|
| 502 | Please refer to the Geant4 User Documentation
|
|---|
| 503 | (http://cern.ch/geant4/G4UsersDocuments/Overview/html)
|
|---|
| 504 | for further information about using Geant4.
|
|---|
| 505 |
|
|---|
| 506 |
|
|---|
| 507 | Contents
|
|---|
| 508 | --------
|
|---|
| 509 |
|
|---|
| 510 | 1. Supported and Tested Platforms
|
|---|
| 511 | 2. AIDA and CLHEP
|
|---|
| 512 | 3. The Standard Template Library (STL)
|
|---|
| 513 | 4. Compiler Specific Problems
|
|---|
| 514 | 5. Known Run-Time Problems
|
|---|
| 515 | 6. Compilation Warnings
|
|---|
| 516 | 7. Known Run-Time Warnings
|
|---|
| 517 | 8. Items for migration of user code
|
|---|
| 518 |
|
|---|
| 519 | 1. Supported and Tested Platforms
|
|---|
| 520 | ---------------------------------
|
|---|
| 521 |
|
|---|
| 522 | o SUN Solaris 5.8, C++ 5.3 Patch 111685-07, C++ 5.4 Patch 111715-02.
|
|---|
| 523 | o Linux, gcc 2.95.2, gcc 3.2.
|
|---|
| 524 | This configuration was tested with the RedHat 7.2 and 7.3 distributions,
|
|---|
| 525 | versions of Geant4 have also been compiled successfully on other Linux
|
|---|
| 526 | distributions, like Debian or Suse.
|
|---|
| 527 | The default RedHat compiler gcc-2.96 ditributed in RedHat 7.X is NOT
|
|---|
| 528 | supported. It has been verified that it produces incorrect binaries,
|
|---|
| 529 | therefore is not reliable. See also note below.
|
|---|
| 530 | o Windows-2000/XP and CygWin Tools with: Visual C++ 6.0 Service Pack 5
|
|---|
| 531 |
|
|---|
| 532 | Platforms configured but not tested and not supported:
|
|---|
| 533 | o DEC V4.0, cxx C++ V6.1-027
|
|---|
| 534 | o HP 10.20, aCC C++ B3910B A.01.23
|
|---|
| 535 | o SGI V6.5.5, CC 7.2.1
|
|---|
| 536 | o AIX 4.3.2, xlC 6.0
|
|---|
| 537 | o MacOS 10.2, gcc 2.92.2 / gcc-3.2
|
|---|
| 538 |
|
|---|
| 539 | 2. AIDA and CLHEP
|
|---|
| 540 | -----------------
|
|---|
| 541 |
|
|---|
| 542 | Geant4 5.0 requires the installation of CLHEP.
|
|---|
| 543 |
|
|---|
| 544 | See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
|
|---|
| 545 | Tests have been performed with CLHEP 1.8.0.0.
|
|---|
| 546 |
|
|---|
| 547 | Geant4 5.0 examples with histogramming cowork with AIDA 3.0 implementations.
|
|---|
| 548 | These include:
|
|---|
| 549 | - ANAPHE and components included therein
|
|---|
| 550 | (see: http://cern.ch/anaphe)
|
|---|
| 551 | - JAS (Java Analysis Studio)
|
|---|
| 552 | (see: http://jas.freehep.org)
|
|---|
| 553 | - Open Scientist
|
|---|
| 554 | (see: http://www.lal.in2p3.fr/OpenScientist)
|
|---|
| 555 |
|
|---|
| 556 | AIDA headers can be downloaded from: http://aida.freehep.org
|
|---|
| 557 |
|
|---|
| 558 |
|
|---|
| 559 | 3. The Standard Template Library
|
|---|
| 560 | --------------------------------
|
|---|
| 561 |
|
|---|
| 562 | Native versions of STL have been tested on the following platforms:
|
|---|
| 563 |
|
|---|
| 564 | Windows/2000, Linux, and SUN.
|
|---|
| 565 |
|
|---|
| 566 | NOTES:
|
|---|
| 567 |
|
|---|
| 568 | - Platform specific setup:
|
|---|
| 569 | o SUN: Native STL is required for ISO/ANSI setup.
|
|---|
| 570 | o Linux: Native STL is required (non ISO/ANSI setup for egcs compiler only).
|
|---|
| 571 | o Windows: Native STL and ISO/ANSI setup required (VC++ 6.0).
|
|---|
| 572 |
|
|---|
| 573 |
|
|---|
| 574 | 4. Compiler Specific Problems
|
|---|
| 575 | -----------------------------
|
|---|
| 576 |
|
|---|
| 577 | o Linux Red Hat 7.X, gcc-2.96.
|
|---|
| 578 |
|
|---|
| 579 | - The default compiler distributed by Red Hat since release 7.0 is
|
|---|
| 580 | NOT supported and not considered reliable for running a Geant4-based
|
|---|
| 581 | application. In more than one test case, binaries produced by gcc-2.96
|
|---|
| 582 | have shown incorrect behavior, either due to wrong order of
|
|---|
| 583 | initialisation of static data in memory or to bugs in the system
|
|---|
| 584 | iostream classes, problems which apparently have all been solved in
|
|---|
| 585 | more recent versions of the compiler (3.X series).
|
|---|
| 586 | For information, gcc-2.96 is a compiler that has never been
|
|---|
| 587 | officially released, nor supported by the GNU team itself and is not
|
|---|
| 588 | considered reliable by the authors (for more information, see also
|
|---|
| 589 | http://gcc.gnu.org/gcc-2.96.html).
|
|---|
| 590 |
|
|---|
| 591 |
|
|---|
| 592 | 5. Known Run-Time Problems and Limitations
|
|---|
| 593 | ------------------------------------------
|
|---|
| 594 |
|
|---|
| 595 | For a complete list of outstanding run-time problems and to submit any
|
|---|
| 596 | problem you may find running this version of Geant4, please refer to the
|
|---|
| 597 | Geant4 Problem Reporting System, available on the Web at this address:
|
|---|
| 598 |
|
|---|
| 599 | http://cern.ch/geant4/problemreport
|
|---|
| 600 |
|
|---|
| 601 |
|
|---|
| 602 | 6. Compilation Warnings
|
|---|
| 603 | -----------------------
|
|---|
| 604 |
|
|---|
| 605 | There are compilation warnings on some platforms. We do not believe
|
|---|
| 606 | that any will lead to incorrect run-time behaviour, but we are working
|
|---|
| 607 | on reducing them.
|
|---|
| 608 |
|
|---|
| 609 |
|
|---|
| 610 | 7. Known Run-Time Warnings
|
|---|
| 611 | --------------------------
|
|---|
| 612 |
|
|---|
| 613 | The following messages can be written to error output while tracking.
|
|---|
| 614 | We believe none give rise to incorrect behaviour.
|
|---|
| 615 |
|
|---|
| 616 | o G4PropagateInField: Warning: Particle is looping
|
|---|
| 617 | - tracking in field will be stopped.
|
|---|
| 618 | It has performed 10000 steps in Field while a maximum of 10000
|
|---|
| 619 | are allowed.
|
|---|
| 620 |
|
|---|
| 621 |
|
|---|
| 622 | 8. Items for migration of user code
|
|---|
| 623 | -----------------------------------
|
|---|
| 624 |
|
|---|
| 625 | o Compilation/installation of the 'g3tog4' module is now -optional- in
|
|---|
| 626 | release 5.0 and can be triggered only if G4USE_G3TOG4 is set during
|
|---|
| 627 | installation.
|
|---|
| 628 | o The new data sets for photon-evaporation and radioactive-decay are
|
|---|
| 629 | required, old data-sets are not compatible with this release.
|
|---|
| 630 | o Definition of the state IDs in G4ApplicationState have changed to
|
|---|
| 631 | prepend the "G4State_" prefix to the original state ID (i.e. "Idle"
|
|---|
| 632 | becomes "G4State_Idle", "Init" becomes "G4State_Init", and so on...).
|
|---|
| 633 | The user code (particularly, user defined messengers defining state
|
|---|
| 634 | dependent commands) will need to migrate to this new convention.
|
|---|
| 635 | o The interface for usage of the scintillation process has changed.
|
|---|
| 636 | Refer to the user's manual to learn about how to migrate the user code
|
|---|
| 637 | to use the new interface.
|
|---|
| 638 | o Interfaces for importance biasing and scoring have substantially changed
|
|---|
| 639 | and migration of the user code using these classes is required. Refer to
|
|---|
| 640 | the user's manual to learn about how to migrate the user code
|
|---|
| 641 | to use the new interfaces.
|
|---|
| 642 | o User defined solids will need to implement a new method:
|
|---|
| 643 | std::ostream& StreamInfo(std::ostream& os) const
|
|---|
| 644 | to dump solid's contents to an output stream.
|
|---|
| 645 | The method is now pure virtual in the base class G4VSolid.
|
|---|
| 646 | o The base class G4VTrajectory has been enhanced and new pure virtual
|
|---|
| 647 | functions have been introduced in G4VGraphicsScene:
|
|---|
| 648 | void AddThis(const G4VTrajectory&)
|
|---|
| 649 | void AddThis(const G4VHit&)
|
|---|
| 650 | User inherited classes require concrete implementations of the methods
|
|---|
| 651 | above, as well.
|
|---|