Warning, /geant4/CHANGELOG/ReleaseNotes4.5.0.txt is written in an unsupported language. File is not indexed.
0001
0002 Geant4 5.0 Release Notes
0003 ------------------------
0004
0005 13th December 2002
0006
0007 These are the main new features/fixes included in this release since the
0008 last public release (for the detailed list of fixes/additions, please refer
0009 to the related History files):
0010
0011
0012 o Configuration:
0013 -------------
0014 - Specific setups:
0015 o Linux-g++.gmk: added assignment 'CC := gcc' for default 'cc' compiler.
0016 o SUN-CC.gmk: removed -L/usr/lib path specification from LOADLIBS
0017 definition.
0018 o AIX-xlC.gmk: updated for porting on AIX with xlC 6.0 (unsupported).
0019 o WIN32-g++.gmk: updated setup to compile with -ansi and gcc-2.95.3
0020 for most recent versions of CygWin (unsupported).
0021 o Darwin-g++.gmk: updated setup to support MacOS 10.2 (unsupported).
0022 - liblist.c:
0023 o Enhanced script to provide the whole list of installed libraries
0024 in the correct order, without requiring parsing of dependencies.
0025 The functionality is achieved by invoking "liblist" with option '-m",
0026 i.e. - liblist -m [libpath] < libname.map
0027 where [libpath] is the path where libraries are placed
0028 (i.e. $G4LIB/$G4SYSTEM).
0029 - binmake.gmk:
0030 o Use "liblist -m [libpath]" to retrieve the list of libraries to link
0031 in case headers are installed in $G4INCLUDE, and granular libraries
0032 are used.
0033 - Adopt new dependency file algorithm to avoid leaving corrupt .d files
0034 when #include's cannot be found.
0035 - Removed ODBMS setup. Now library for persistency is built as part of the
0036 kernel and specific implementations for persistency have been moved to
0037 examples. Setup for ODBMS no more required. G4USE_HEPODBMS is no longer
0038 used.
0039 - Removed obsolete setup for ObjectSpace-STL (G4USE_OSPACE and related
0040 variables). Removed obsolete variable G4USE_STL.
0041 - Made compilation of g3tog4 module optional (only if G4USE_G3TOG4 is
0042 defined). The module is not built by default.
0043
0044 o Digitization & Hits:
0045 -------------------
0046 - Added classes for event scoring in module "detector":
0047 G4CellScoreComposer[.hh.cc], G4CellScoreValues.hh,
0048 G4CellStoreScorer[.hh.cc], G4TrackLogger[.hh.cc].
0049 - Added methods to G4VHit:
0050 virtual const G4std::vector<G4AttDef>* GetAttDefs/Values()
0051 - Added GetHit() and GetSize() to G4VHitsCollection.
0052 - Fixed minor memory leak in G4SDManager.
0053
0054 o Event:
0055 -----
0056 - Added classes for scoring management:
0057 G4CellScorer[.hh.cc], G4CellScorerStore[.hh.cc],
0058 G4ScoreTable[.hh.cc], G4Scorer[.hh.cc].
0059 - Introduced first implementation of HepMC interfaces (not functional
0060 yet on Windows platforms, pending HepMC support in CLHEP).
0061 - Critical bug fix in G4PrimaryParticle for initialisation of non
0062 charged particles.
0063 - G4Event: introduced 'EventAborted' flag.
0064 - Added protection against user's mis-use of destruction of
0065 G4TrajectoryContainer.
0066 - Fix memory leak caused by deleting stacked tracks.
0067
0068 o Electromagnetic Processes (Low-energy):
0069 --------------------------------------
0070 - Bug fix in delta-electron spectra.
0071 - Bug fix in simulation of EM processes in compounds.
0072 - Optimised loading of data in G4AugerData.
0073 - Fix in calculation of restricted energy loss of e-.
0074 - Fixed memory leak problem in G4AtomicTransition.
0075 - Bug fixes for ion ionisation, related to the interaction between
0076 energy loss and fluorescence.
0077 - Bug fix in G4BremsstrahlungParameters, to load EEDL correctly.
0078 Fixes problem report #430.
0079 - New model for angular distribution in Rayleigh.
0080 Fixes problem report #406.
0081 - Optimisation of tables in G4LowEnergyIonisation, G4eLowEnergyLoss,
0082 G4hLowEnergyLoss and G4hLowEnergyIonisation.
0083
0084 o Electromagnetic Processes (Standard):
0085 ------------------------------------
0086 - Introduced new prototype implementation of model-dependent processes:
0087 G4MuBremsstrahlungSTD, G4MuIonisationSTD, G4MuPairProductionSTD,
0088 G4eBremsstrahlungSTD, G4eIonisationSTD, G4hIonisationSTD.
0089 G4MultipleScatteringSTD, G4VEnergyLossSTD, G4EnergyLossMessengerSTD.
0090 - G4Scintillation:
0091 o now allowing for fast and slow components. Scintillation properties
0092 are stored with the material and retrieved with GetConstProperty().
0093 o now allowing for particle dependent excitation levels.
0094 o using Poisson distribution (G4Poissin) for small MeanNumPhotons in
0095 a step.
0096 o using the nearest integer to calculate the number of photons in DoIt().
0097 - G4MultipleScattering:
0098 o Bug fix in PostStepDoIt() for lateral displacement.
0099 o Corrected angle distribution and fixes in the boundary algorithm.
0100 This new parameterisation improves the ~100 MeV proton scattering.
0101 - G4eBremsstrahlung::BuiltLossTable(): fixed rare cases of division by 0.
0102 - GammaConversionToMuons: corrected syntax of OR conditions in DoIt().
0103 - G4VEnergyLoss: fix for gaussian fluctuations sampling at very low energy.
0104 - Fixes in proton scattering and LossTableBuilder.
0105 - G4PAIonisation[.hh.icc.cc]: patched access to public static data.
0106 Added static accessor to be used in the kernel for inline functions
0107 to allow porting on Windows DLLs.
0108
0109 o General Processes, Parameterisation, Decay, Optical:
0110 ---------------------------------------------------
0111 - Added new command /process/setVerbose for G4ProcessTableMessenger.
0112 - Fixed memory leak in G4ProcessTable::Insert().
0113 - Optical processes: fixed calculation of polarization on dielectric
0114 dielectric interfaces. Fixes problem report #427.
0115 - Fast simulation management:
0116 o Added method to retrieve G4VFastSimulationModel by name
0117 G4GlobalFastSimulationManager::GetFastSimulationModel().
0118 The method is matched also in G4FastSimulationManager.
0119 o Patched access to public static data in G4FastStep.cc and
0120 G4GlobalFastSimulationManager.cc to allow porting on Windows DLLs.
0121
0122 o Geometry:
0123 --------
0124 - Importance biasing
0125 o New design iteration for importance biasing and scoring and
0126 reorganisation of classes to proper modules (digits+hits/detector,
0127 event and processes/transportation).
0128 + no biasing is applied between cells that are not known by
0129 the G4IStore and its neighbors.
0130 + importance value 0 is allowed to flag that no biasing should
0131 be done betweeen the cell and its neighbors.
0132 + changed G4ParallelNavigator to use G4TouchableHanle and
0133 LocateGlobalPointAndSetup().
0134 + renamed G4VPScorer to G4VScorer and G4PStep to G4GeometryCellStep
0135 + changes to handle 'pre' and 'post' importance in
0136 G4(V)ImportanceAlgorithm, G4ImportanceSplitExaminer and
0137 G4ImportanceFinder.
0138 + renamed G4PTouchableKey to G4GeometryCell.
0139 + removed G4VPrintableScorer.hh G4VPrintableScorerFactory.hh.
0140 + added G4VCellScorer.hh and G4VCellScorerStore.hh.
0141 - Management
0142 o Added checks for illegal geometry contructions for G4PVReplica and
0143 G4PVParameterised. Contructors now verify unicity of daughter volumes
0144 for replicas and parameterised volumes, as well as checks for attempt
0145 to replicate/parameterise the world volume.
0146 o Added pure virtual method StreamInfo() in G4VSolid to stream contents
0147 of a solid to a generic output stream. Interface change required for
0148 all derived concrete solids.
0149 Added method DumpInfo() using StreamInfo() to dump contents to the
0150 standard output.
0151 o G4AssemblyVolume:
0152 + Fixed bug #409 concerning missing imprint counter method.
0153 + Fixed bug #410 concerning the internal counting mechanism.
0154 Added accessor methods for retrieving the instance ID.
0155 o Added new method IsParameterised() for G4PVParameterised and
0156 G4PVPlacement, to enquire for existing parameterisation for a placed
0157 volume.
0158 o Added methods IsParameterised() and GetMultiplicity() for G4PVReplica
0159 and G4VPhysicalVolume to enquire for existing parameterisation of
0160 placed volume, and number of replicated volumes.
0161 o Fixed bug in G4GeometryManager for the initialisation of
0162 fine-grained timer for voxelisation statistics.
0163 o Correction in G4LogicalVolume to allow correct propagation of the
0164 Field Manager to the daughter volumes. Fixes bug report for field
0165 by logical volume.
0166 - Solids
0167 o Implemented mechanism for dumping contents of solids to streams.
0168 o G4Cons: bug fixed in DistanceToIn(p,v) concerning z-crossing at
0169 the edge with Rmin,Rmax.
0170 o Boolean solids:
0171 + Added method CleanTransformations() to G4DisplacedSolid and
0172 corrected implementation in destructor of G4BooleanSolid not to
0173 call for deletion of G4VSolid in the case where displacement is used.
0174 Fixes a problem noticed on Linux-g++ at application closeout for
0175 double deletion of a solid in such special case.
0176 o BREPS solids:
0177 + Fix in G4BREPSolidPCone in construction for creation of
0178 begin & end planar surfaces in the case where
0179 [RMIN[0] == 0.0 && RMAX[0] > 0.0] and/or
0180 [RMIN[sections] == 0.0 && RMAX[sections] > 0.0].
0181 Fixes problem report #419.
0182 + G4Ray, G4Surface: made static inline methods not inlined
0183 to allow porting on Windows DLLs.
0184 o Specific solids: fixed un-initialised data members in constructors
0185 of classes: G4ClippablePolygon, G4EnclosingCylinder, G4PolyconeSide,
0186 G4ReduciblePolygon, G4VCSGfaceted.
0187 o STEPinterface: made all static inline methods not inlined,
0188 to allow porting on Windows DLLs.
0189 o Some general cleanup.
0190 - Verification
0191 o G4GeomTestVolume: fixed recursive call to G4GeomTestVolume to
0192 consider also 'tolerance' as argument in the recursive test algorithm.
0193 - Volumes
0194 o Introduced abstract class G4VCurvedTrajectoryFilter, and created
0195 class G4IdentityTrajectoryFilter, concrete filter for trajectory
0196 points.
0197 o Code cleanup and cosmetics for most classes.
0198 o G4PropagatorInField:
0199 + Fix in ComputeStep() to correctly handle cases when tracks
0200 get killed.
0201 + Introduced memory of Charge Mass and Momentum in order for it to
0202 message the correct ChordFinder at each step. Fixes problem observed
0203 when multiple field managers are used.
0204 + Removed not-implemented constructor taking G4Navigator* as argument.
0205 + Get rid of static const data for default 'epsilonStep' size.
0206 + Initialised all data members in constructor!
0207 o G4BlockingList.cc: fixed initialisation of fBlockTagNo.
0208 Fixes warnings reported by Valgrind to G4BlockingList,
0209 G4VoxelNavigation and G4ParameterisedNavigation.
0210 o Formatting cleanup in source implementation files.
0211
0212 o Global:
0213 ------
0214 - Introduced new G4Exception scheme based on severity level.
0215 Added enumeration G4ExceptionSeverity.
0216 o Modified : G4VStateDependent[.hh.cc], G4Exception.cc,
0217 G4StateManager.hh and globals.hh
0218 - Migration to new G4ApplicationState, prepending "G4State_" to each
0219 application state ID.
0220 - G4Allocator: moved page size to become data-member of G4Allocator.
0221 'fPageSize' is now computed according to the size of the object
0222 to be allocated. The default size is 1024 bytes for objects whose
0223 size is less than 512 bytes, 10 times the size of the object otherwise.
0224 - G4UnitsTable: made GetUnitsTable() static method not inlined.
0225 - G4Integrator: plugged minor memory leak and fixed uninitialised values.
0226
0227 o Graphical representations:
0228 -------------------------
0229 - Introduced classes G4AttDef, G4AttDefStore and G4AttValue.
0230 - Added const G4std::vector<G4AttValue>* fAttValues/Defs to
0231 G4VisAttributes.
0232 - HepPolyhedron:
0233 o added methods createTwistedTrap() and createPolyhedron().
0234 o minor bug fix in method GetFacet().
0235 o changed inline static methods to not inlined.
0236 - Small revison of G4Scale and improvements in G4VMarker class description.
0237 - G4Colour class description corrected.
0238 - Patched access to public static data in G4Scale and G4VisAttributes.
0239 Added static accessors to be used in the kernel to allow porting on
0240 Windows DLLs.
0241
0242 o Hadronic Processes:
0243 ------------------
0244 - cross_sections
0245 + added protection for low nuclear mass limit in high precision classes
0246 for neutron and proton nuclear scattering
0247 + added protection in electro-nuclear scattering (solves the problem
0248 seen in CMS, linear collider, and electron beam-dump studies)
0249 + added alternative description of pion nuclear reactions cross-sections
0250 (G4PiNuclearCrossSection), affecting in particular the absorption
0251 dominated (T<500MeV) region.
0252 - management
0253 + changed the memory management policy for model classes
0254 (G4HadronicInteraction derived), so they get deleted exactly once,
0255 no matter what the physics list looks like.
0256 - processes
0257 + corrected documentation for electro and gamma nuclear process classes.
0258 - stopping
0259 + fixed light material problem and neutrino-flavour problem in
0260 muon-nuclear scatterering
0261 - util
0262 + enabled tracing of originator model (in development mode) for more
0263 detailed verfication
0264 + more work on energy conservation for low energy models in the case
0265 of annihilation events, charge exchange reactions, and strangeness
0266 production.
0267 - models/cascade
0268 + first release of the cascade part of the HETC re-write
0269 - models/chiral_inv_phase_space
0270 + bug fixes, and revised rho width.
0271 - models/coherent_elastic
0272 + removed some conservative programming in favour of performance.
0273 - models/high_energy
0274 + fixed known bug in the Cross method, and energy non-conservation
0275 problems in cases of strangeness production and anti-particle
0276 reactions
0277 - models/leading_particle
0278 + extended neutron spectrum to reach below 1 MeV
0279 - models/low_energy
0280 + improved treatement of the K0 system.
0281 + removed long-standing (small) memory leak in light ion reactions
0282 + improved treatement of pion absorption at lowest energies
0283 - models/neutron_hp
0284 + added description of inelastic channel in case no energy distributions
0285 are given, and there are exactely two secondaries
0286 Fixes a problem seen in neutron scattering off iron
0287 + added protection a case where cross-sections went negative in
0288 non-linear interpolation mode
0289 + added an exception in case heavy elements with no data provided are
0290 searched for
0291 - models/de_excitation
0292 + new feature: internal conversion now available
0293 + fixes for integration problem in multi-fragmentation and random
0294 numbers generation
0295 - models/radiative_decay
0296 + now also using internal conversion
0297 - models/high_energy
0298 + cleared compilation warnings
0299 - models/kinetic_model
0300 + first release of the binary-cascade model
0301 - models/management
0302 + added coulomb barrier information to nucleus interface
0303 - models/pre_equilibrium
0304 + enabled source tracing in developer mode
0305 + fixed rare integration problem in the probability distribution
0306 function for ion emission
0307 - models/quark_gluon_string
0308 + added developer mode
0309 - models/scattering
0310 + First release of the generic scattering term, currently used by
0311 binary cascade.
0312 - models/string_fragmentation
0313 + removed some conservative programming
0314 - models/util
0315 + added coulomb barrier to nucleus' public interface
0316 + kinetic track now decay in cascade type codes with correct life-time
0317 + track 4-momentum can now be updated by specifying new energy
0318 - New data required for photon-evaporation and radioactive decay databases.
0319 - High precision neutron code will work with G4NDL0.2 through G4NDL3.7.
0320
0321
0322 o Magnetic Field:
0323 --------------
0324 - G4FieldManager:
0325 o made 'fDefault_Delta_One_Step_Value' and
0326 'fDefault_Delta_Intersection_Val' non static constants to resolve
0327 initialisation problems. Fixes problem report #383.
0328 - G4ChordFinder:
0329 o fixed case of stepTrial >> stepTrialOld, for large multiple.
0330 o added guard for null stepTrial in FindNextChord().
0331 o correction from zero dChord in case of not-updated 'Unconstrained'
0332 step estimate (state).
0333 o Added instance variables to store number of calls and chord-trials.
0334 - G4EquationOfMotion:
0335 o made RightHandSide() inlined.
0336 o changed signature of Point in GetFieldValue(), now double[4].
0337 - Protection against division by 0 in
0338 G4MagIntegratorDriver::ComputeNewStepSize.
0339 - Fixes for unitialised variables in G4MagIntegratorStepper,
0340 G4FieldTrack, G4MagErrorStepper, G4Mag_SpinEqRhs, G4ExplicitEuler,
0341 and G4ImplicitEuler
0342 - Fixed memory leaks in G4ImplicitEuler and ExplicitEuler.
0343
0344 o Materials:
0345 ---------
0346 - G4Material: removed constructors with chemical formula.
0347 - Added constant material properties to G4MaterialPropertiesTable.
0348 - G4IonisParamElm: fix in excitation energy interpolation.
0349 - G4IonisParamMat: added methods to Set/Find the mean excitation energy.
0350
0351 o Particles:
0352 ---------
0353 - Updated mass width for resonance particles.
0354 - Fixed PDG codes for k0_star(1430), a0(1450) and f0(1370).
0355 - Made static inline method G4VDecayChannel::GetNoName() not inlined
0356 for porting on Windows DLLs.
0357
0358 o Persistency:
0359 -----------
0360 - Implementation of abstract layer for persistency. Removed ODBMS
0361 specific implementation and setup. Now persistency library is part of
0362 the Geant4 kernel (see documentation on user manuals for details)
0363 o HepMC is not currently supported by CLHEP on Windows, so HepMC
0364 persistency is temporarly excluded from compilation on Windows.
0365
0366 o Run, Intercoms and Interfaces
0367 -----------------------------
0368 - G4RunManager, G4RunMessenger:
0369 o Introduced "soft abortion", to allow event loop to abort after
0370 processing the current event. G4RunManager sets "eventAbortion"
0371 flag of G4Event if that particular event is aborted.
0372 o Introduced AbortEvent() method and corresponding UI command.
0373 - Introduced new G4Exception scheme: added G4ExceptionHandler class.
0374 - G4RunManager: introduced ResetNavigator() method needed in cases
0375 where a geometry has been modified between runs in order to properly
0376 re-initialize navigator's state.
0377 - Added two new pure virtual functions to G4VGraphicsScene:
0378 void AddThis(const G4VTrajectory&)
0379 void AddThis(const G4VHit&)
0380 - Fixed uninitialized data member and minor memory leak in G4UIcommand.
0381 - Fixed G4UIArrayStrings to work for "konsole" type termcap.
0382 - Patched access to public static data in G4VGlobalFastSimulationManager
0383 and G4VVisManager. Added static accessors to be used in the kernel to
0384 allow porting on Windows DLLs.
0385
0386 o Tracking & Track:
0387 ----------------
0388 - Extensions of G4VTrajectory and introduction of curved trajectories
0389 o Added classes G4SmoothTrajectory and G4SmoothTrajectoryPoint.
0390 o Implemented default Show/DrawTrajectory() in G4VTrajectory.
0391 - G4SteppingManager:
0392 o implemented new ForceCondition flag StronglyForced.
0393 o fixed problem observed with optical processes.
0394 - G4TrackingManager
0395 o Re-implemented EventAborted() method to ensure this command
0396 works properly during stepping phase.
0397 o Set fpTrajectory pointer to zero when the trajectory is deleted.
0398 - Added accessors to auxiliary point vector, in both G4Step and
0399 G4ParticleChangeForTransport.
0400 - Set 'fUndefined' for the StepStatus in G4PostStepPoint.
0401 - Fixed initialisation of 'fCharge' in G4StepPoint constructor.
0402 - Patched access to public static data in G4VParticleChange.
0403 Added accessors to be used in the kernel to allow porting on
0404 Windows DLLs.
0405
0406 o Transportation:
0407 --------------
0408 - G4Transportation: enable use of smooth (curved) trajectories.
0409 - Design iteration for standard scoring and class reorganisation
0410 o changed sampler concept: instead of separate samplers for
0411 all combinations of importance sampling, scoring, weight roulette
0412 for parallel and mass geometry, two samplers now are used
0413 for the mass and parallel geometry: G4MassGeometrySampler
0414 and G4ParallelGeometrySampler.
0415 o bug fixes in G4MassGeometrySampler, G4ParallelGeometrySampler,
0416 and G4MassGeometry.
0417 o moved G4CellStoreScorer, G4TrackLogger to digits+hits/detector.
0418
0419 o Visualization:
0420 -------------
0421 - New implementation of HepRep driver (version 2).
0422 - Precision control of g4_XX.prim files are now generated by the
0423 DAWNFILE/DAWN-Network drivers, by use of a new variable for tuning
0424 precision G4DAWNFILE_PRECISION. Default precision is now set to
0425 9 digits.
0426 - Fix (removal) of ambiguous G4VVisCommand::GetNewDoubleValue().
0427 - Added /vis/viewer/set/globalMarkerScale.
0428 - Improved algorithm of CompareForKernelVisit on OpenGL and OpenInventor.
0429 - OpenGL driver: fixes for WIN32 architecture at compilation level.
0430 Viewer still to be implemented.
0431 - Patched access to static data in G4VisCommandsSceneAdd.cc,
0432 G4VisManager.cc and G4FlavoredParallelWorldModel.cc to allow porting
0433 on Windows DLLs.
0434 - Corrected inclusion of G4OpenGLXViewer #ifdef X_DRIVER for Windows
0435 and other small changes in OpenGL.
0436 - Added integer argument to /vis/scene/add/trajectories [drawing-mode].
0437 drawing-mode is passed to DrawTrajectory.
0438 - Fixed bug in G4VisManager wich lead to zero G4VModel pointer.
0439 - Improved handling of models.
0440 - Fixed division-by-zero cases in G4RayTracer.
0441 - VRML driver: bug fix for marker size.
0442 - Improved end of run behaviour for non-post-processing graphics systems.
0443
0444 o g3tog4 tool:
0445 -----------
0446 - Fix in G4gsdvn G4gsposp to enable larger number of clone volumes
0447 - Fix for division defined in a mother with not yet defined parameters.
0448
0449 o data
0450 ----
0451 - Updated data-sets for:
0452 o PhotonEvaporation: data-base now includes internal conversion
0453 coefficients.
0454 o RadiativeDecay.
0455
0456 o Examples:
0457 --------
0458 - advanced:
0459 + Migration of most examples to use AIDA 3.X for histogramming.
0460 + Added "composite_calorimeter" example based on CMS test-beam setup.
0461 + Added "lAr_calorimeter" example based on ATLAS lAr-calorimeter
0462 test-beam setup.
0463 + underground_physics:
0464 o Updates to cope with new interface for G4scintillation process.
0465 o Updated geometry for better comparison with data. Corrected
0466 overlapping volumes and inefficient physics list.
0467 - extended
0468 o analysis
0469 + added "A01" example for usage of analysis and HepRep.
0470 o biasing
0471 + reduced examples to three:
0472 B01 - importance sampling and scoring. Importance values are
0473 defined according to the mass geometry. Scoring performed.
0474 B02 - uses a parallel geometry to define G4GeometryCell objects
0475 for scoring and importance sampling. In addition it customizes
0476 the scoring. In this example one scorer creates a histogram.
0477 It can be run through a Python script.
0478 B03 - importance sampling and scoring interactively through Python.
0479 o electromagnetic:
0480 + migrated histogramming to AIDA 3.X.
0481 + fixes to allow compilation in gcc-3.2 (TestEm1, TestEm2, TestEm3).
0482 o eventGenerator
0483 + enhanced interface to HepMC to use CLHEP module.
0484 o gdml:
0485 + fixed warnings on SUN and SUN linker problem.
0486 o persistency
0487 + introduced example (PersEx01) for persistency of calorimeter hits
0488 using ROOT-I/O.
0489 + removed old ODBMS-based examples.
0490 - novice
0491 o N06: updates according to new interface for G4Scintillation process.
0492
0493 ----------------------------------------------------------------------------
0494
0495 Technical Notes
0496 ---------------
0497
0498 The code and some binary libraries are available through our "Source Code"
0499 Web page:
0500 - see our Geant4 Home Page (http://cern.ch/geant4).
0501
0502 Please refer to the Geant4 User Documentation
0503 (http://cern.ch/geant4/G4UsersDocuments/Overview/html)
0504 for further information about using Geant4.
0505
0506
0507 Contents
0508 --------
0509
0510 1. Supported and Tested Platforms
0511 2. AIDA and CLHEP
0512 3. The Standard Template Library (STL)
0513 4. Compiler Specific Problems
0514 5. Known Run-Time Problems
0515 6. Compilation Warnings
0516 7. Known Run-Time Warnings
0517 8. Items for migration of user code
0518
0519 1. Supported and Tested Platforms
0520 ---------------------------------
0521
0522 o SUN Solaris 5.8, C++ 5.3 Patch 111685-07, C++ 5.4 Patch 111715-02.
0523 o Linux, gcc 2.95.2, gcc 3.2.
0524 This configuration was tested with the RedHat 7.2 and 7.3 distributions,
0525 versions of Geant4 have also been compiled successfully on other Linux
0526 distributions, like Debian or Suse.
0527 The default RedHat compiler gcc-2.96 ditributed in RedHat 7.X is NOT
0528 supported. It has been verified that it produces incorrect binaries,
0529 therefore is not reliable. See also note below.
0530 o Windows-2000/XP and CygWin Tools with: Visual C++ 6.0 Service Pack 5
0531
0532 Platforms configured but not tested and not supported:
0533 o DEC V4.0, cxx C++ V6.1-027
0534 o HP 10.20, aCC C++ B3910B A.01.23
0535 o SGI V6.5.5, CC 7.2.1
0536 o AIX 4.3.2, xlC 6.0
0537 o MacOS 10.2, gcc 2.92.2 / gcc-3.2
0538
0539 2. AIDA and CLHEP
0540 -----------------
0541
0542 Geant4 5.0 requires the installation of CLHEP.
0543
0544 See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
0545 Tests have been performed with CLHEP 1.8.0.0.
0546
0547 Geant4 5.0 examples with histogramming cowork with AIDA 3.0 implementations.
0548 These include:
0549 - ANAPHE and components included therein
0550 (see: http://cern.ch/anaphe)
0551 - JAS (Java Analysis Studio)
0552 (see: http://jas.freehep.org)
0553 - Open Scientist
0554 (see: http://www.lal.in2p3.fr/OpenScientist)
0555
0556 AIDA headers can be downloaded from: http://aida.freehep.org
0557
0558
0559 3. The Standard Template Library
0560 --------------------------------
0561
0562 Native versions of STL have been tested on the following platforms:
0563
0564 Windows/2000, Linux, and SUN.
0565
0566 NOTES:
0567
0568 - Platform specific setup:
0569 o SUN: Native STL is required for ISO/ANSI setup.
0570 o Linux: Native STL is required (non ISO/ANSI setup for egcs compiler only).
0571 o Windows: Native STL and ISO/ANSI setup required (VC++ 6.0).
0572
0573
0574 4. Compiler Specific Problems
0575 -----------------------------
0576
0577 o Linux Red Hat 7.X, gcc-2.96.
0578
0579 - The default compiler distributed by Red Hat since release 7.0 is
0580 NOT supported and not considered reliable for running a Geant4-based
0581 application. In more than one test case, binaries produced by gcc-2.96
0582 have shown incorrect behavior, either due to wrong order of
0583 initialisation of static data in memory or to bugs in the system
0584 iostream classes, problems which apparently have all been solved in
0585 more recent versions of the compiler (3.X series).
0586 For information, gcc-2.96 is a compiler that has never been
0587 officially released, nor supported by the GNU team itself and is not
0588 considered reliable by the authors (for more information, see also
0589 http://gcc.gnu.org/gcc-2.96.html).
0590
0591
0592 5. Known Run-Time Problems and Limitations
0593 ------------------------------------------
0594
0595 For a complete list of outstanding run-time problems and to submit any
0596 problem you may find running this version of Geant4, please refer to the
0597 Geant4 Problem Reporting System, available on the Web at this address:
0598
0599 http://cern.ch/geant4/problemreport
0600
0601
0602 6. Compilation Warnings
0603 -----------------------
0604
0605 There are compilation warnings on some platforms. We do not believe
0606 that any will lead to incorrect run-time behaviour, but we are working
0607 on reducing them.
0608
0609
0610 7. Known Run-Time Warnings
0611 --------------------------
0612
0613 The following messages can be written to error output while tracking.
0614 We believe none give rise to incorrect behaviour.
0615
0616 o G4PropagateInField: Warning: Particle is looping
0617 - tracking in field will be stopped.
0618 It has performed 10000 steps in Field while a maximum of 10000
0619 are allowed.
0620
0621
0622 8. Items for migration of user code
0623 -----------------------------------
0624
0625 o Compilation/installation of the 'g3tog4' module is now -optional- in
0626 release 5.0 and can be triggered only if G4USE_G3TOG4 is set during
0627 installation.
0628 o The new data sets for photon-evaporation and radioactive-decay are
0629 required, old data-sets are not compatible with this release.
0630 o Definition of the state IDs in G4ApplicationState have changed to
0631 prepend the "G4State_" prefix to the original state ID (i.e. "Idle"
0632 becomes "G4State_Idle", "Init" becomes "G4State_Init", and so on...).
0633 The user code (particularly, user defined messengers defining state
0634 dependent commands) will need to migrate to this new convention.
0635 o The interface for usage of the scintillation process has changed.
0636 Refer to the user's manual to learn about how to migrate the user code
0637 to use the new interface.
0638 o Interfaces for importance biasing and scoring have substantially changed
0639 and migration of the user code using these classes is required. Refer to
0640 the user's manual to learn about how to migrate the user code
0641 to use the new interfaces.
0642 o User defined solids will need to implement a new method:
0643 std::ostream& StreamInfo(std::ostream& os) const
0644 to dump solid's contents to an output stream.
0645 The method is now pure virtual in the base class G4VSolid.
0646 o The base class G4VTrajectory has been enhanced and new pure virtual
0647 functions have been introduced in G4VGraphicsScene:
0648 void AddThis(const G4VTrajectory&)
0649 void AddThis(const G4VHit&)
0650 User inherited classes require concrete implementations of the methods
0651 above, as well.