Back to home page

EIC code displayed by LXR

 
 

    


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.