Warning, /geant4/CHANGELOG/ReleaseNotes4.2.0.txt is written in an unsupported language. File is not indexed.
0001
0002 Geant4 2.0 Release Notes
0003 ------------------------
0004
0005 30th June 2000
0006
0007 These are the main new features/fixes included in this release (for the
0008 detailed list of fixes/additions, please refer to the related History files):
0009
0010 o Electromagnetic Processes:
0011 -------------------------
0012 - internal reorganisation of the EnergyLoss classes.
0013 Introduced one level of abstraction through the G4VEnergyLoss class
0014 for muons, electrons and hadrons.
0015 - introduced new functionalities for the energy loss fluctuation model,
0016 and bug fixes.
0017 - removed *Plus* process classes and merged to standard processes:
0018 optimized generation of delta rays near the geometrical boudaries is
0019 now performed as the default.
0020 - bug fixed in the multiple scattering.
0021 - bugs fixed in G4eIonisation and G4hIonisation.
0022 - absolute min gamma energy fixed to 10 keV in G4eBremsstrahlung.
0023 - bugs fixed in G4MuIonisation and G4MuPairProduction.
0024 Updated Physics Reference Manual for muon processes.
0025 - Added new models of Transition Radiation radiators
0026 in processes/parametrisation.
0027
0028 o Electromagnetic Processes, Low-energy :
0029 -------------------------------------
0030 - fixes in G4LowEnergyBremsstrahlung for continuous energy loss.
0031 - modifications for integration of cross sections, corrections of
0032 fluorescence transition probabilities to take into account
0033 non-radiative transitions.
0034
0035 o General Processes, Parameterisation, Decay :
0036 ------------------------------------------
0037 - introduced new set of models for X-ray transition radiation
0038 parameterisation.
0039 - implemented full migration to STL for processes/parameterisation
0040 and processes/management modules.
0041 - added process registration into ProcessTable in copy constructor.
0042 - fixed registration of "shortlived" particles for G4Decay.
0043
0044 o Geometry:
0045 --------
0046 - magneticfield:
0047 o corrected helical steppers.
0048 o fix in G4LineSection to prevent divisions by 0 and sqrt(<0).
0049 o modified method for finding new trial step in G4ChordFinder.
0050 - management:
0051 o design change in G4VSolid for visualization utilities: changed pure
0052 virtual method G4VSolid::GetExtent() to virtual. Added default
0053 implementation based on CalculateExtent().
0054 - BREPS solids:
0055 o Decoupled BREPS module from the STEP Reader;
0056 o Memory leak fixes and some code cleanup.
0057 - CSG and specific solids:
0058 o created new module solids/specific and moved therein all non-CSG
0059 shapes previously placed in solids/CSG.
0060 o Added new shape in solids/specific: G4EllipticalTube.
0061 o Fixed bug in G4PolyhedraSide::Normal(...). This fixes a problem
0062 observed in G4Polyhedra::SurfaceNormal. Fixes in G4Hype.
0063 o Fixed typo in method name in G4Polyhedra.: changed GetNumSIde() to
0064 GetNumSide().
0065 o Added more diagnostics in G4Cons, G4Sphere and G4Torus in function
0066 DistanceToOut(p,v,...).
0067 o Fix in DistanceToIn(p,v) for G4Box and G4Trd to return zero
0068 distance in case computed value is less than 0.5*kCarTolerance.
0069 o Added safety against call from outside in DistanceToOut(p)
0070 o Fix to G4Tubs::DistanceToOut(p,v,...) in computation of xi, yi
0071 for (sphi>=-0.5*kCarTolerance).
0072 o Added more diagnostics in case of invalid enum for DistanceToOut.
0073 o Added new alternative functions SolveBiQuadratic/CubicNew in G4Torus.
0074 - solids/Boolean:
0075 o Implemented CreatePolyhedron method.
0076 o G4DisplacedSolid: reversed implementation of GetFrameRotation and
0077 GetObjectRotation, removing inappropriate invertion.
0078 o G4DisplacedSolid::GetConstituentMovedSolid() made const.
0079 o Fixed bug in G4SubtractionSolid::DistanceToOut(p,v,...).
0080 validNorm flag was uncorrectly set to true.
0081 - STEP:
0082 o Upgraded NIST STEP Reader to SCL (STEP Class Library) 3.2;
0083 o Implemented porting on supported platforms/compilers and
0084 ISO-ANSI C++ compliance.
0085 - STEP Interface module:
0086 o Implemented porting to support the new NIST STEP Reader;
0087 o Reduced inter-class dependencies by reorganising include
0088 statements.
0089 o Improved overall diagnostics and fixed internal memory-leaks;
0090 o Added protections for NULL pointers generated by missing geometry
0091 creators.
0092 o Implemented temporary solution for association of placements
0093 with manifolded solids for advanced BREP shape representations.
0094 - volumes:
0095 o introduced kCarTolerance for check over taken step length and
0096 TruePathLength in G4PropagatorInField::ComputeStep().
0097 o fixes in G4ReplicaNavigation::ComputeStep() for zero-step length
0098 loops observed when point is on boundary.
0099
0100 o Globals and Config:
0101 ------------------
0102 - Added class G4PhysicsLnVector implementing a physics vector with
0103 natural logarithmic scale for energy/momentum bins.
0104 - Added string identifier to G4UserLimits.
0105 - Defined G4complex type as complex type of doubles.
0106 - Fixes to STLInterface wrappers: fixed initialization of base STL
0107 vector in default constructor of vector collections.
0108 - Changed implementation of G4Integrator to a template class.
0109 - Config: implemented modular setup. Now system specific configurations
0110 are grouped in separated files $G4SYSTEM.gmk and placed in the new
0111 directory config/sys.
0112
0113 o Graphics Representations:
0114 ------------------------
0115 - Added HepPolyhedron class and re-implemented G4Polyhedron using this
0116 new class (which will become part of CLHEP).
0117 - Added boolean processor for boolean operations of HepPolyhedron
0118 objects.
0119
0120 o Hadronic Processes:
0121 ------------------
0122 - management: allowing ion interactions in G4HadronInelasticProcess.
0123 - cross_sections: added new classes for ion-ion reactions, and for ion
0124 reactions on Hydrogen.
0125 - processes: added new process for ion induced reactions.
0126 - models/isotope_production: added model for proton induced isotope
0127 production, validity range is the proton spallation energy range
0128 (to use this, an update of the G4NDL library is required).
0129 - models/neutron_hp: enabled production of residual nuclei for some
0130 inelastic final states.
0131 - models/generator/de_excitation: design iteration to allow re-use of
0132 root-finding algorithms.
0133 - models/generator/quark_gluon_string: added gamma annihilation
0134 cross-sections and anti-nucleaon-nucleon annihilation. Bug fixes
0135 in AntiSigma SU(12) wafe-function. Extended G4SPBaryon.
0136 - models/generator/string_fragmentation: extended
0137 G4VLongitudinalStringDecay to allow string excitation dependent
0138 parameters.
0139 - models/generator/util: bug fixes and added functionality in
0140 G4KineticTrack.
0141 - models/radiative_decay: added model for simulating the decay of
0142 radio-active nuclei and isomeric states. Validity range is the
0143 range of materials available from ENSDF as of May 2000. To use
0144 this model a data set is provided in geant4/data/RadiativeDecay
0145 and the environment variable G4RADIOACTIVEDATA must be set.
0146 - fixes for memory leaks observed at event loop.
0147
0148 NOTE: the consistent data sets for photon evaporation and radio-active
0149 decay (derived from the same version of the ENSDF data) are
0150 provided from Web in the source download area. A previous version
0151 of photon evaporation data is also provided.
0152
0153 o Interfaces:
0154 ----------
0155 - Introduced new G4UITerminal (G4UItcsh) with UNIX-like shell
0156 (currently fully tested only on Linux-g++ and SUN-CC systems).
0157
0158 o Particles:
0159 ---------
0160 - Full migration to STL performed.
0161 - Removed G4RhoPlus, G4RhoZero, and G4RhoMinus classes.
0162 Added "rho0" in G4ShortLivedConstructor.
0163 - Fixes in G4IsotopeTable and G4NucleiProperties classes.
0164 - Introduced ParticleSubType property in ParticleDefinition.
0165 - Added GetAtomicNumber() and GetAtomicMass() methods to G4VIon,
0166 G4Proton, and G4Neutron.
0167 - Added G4VDecayChannel::GetAngularMomentum() method.
0168
0169 o Tracking & Track:
0170 ----------------
0171 - Added thePolarizationChange in G4ParticleChangeForTransportation.
0172 - Added cashing mechanism of pointer to material in G4StepPoint.
0173 to extract material information from parametrized volumes.
0174 - GetTouchable/SetTouchable methods have been changed to handle
0175 "const" pointers.
0176 - Introduced G4VUserTrackInformation class and associated to G4Track.
0177 - Fixed problem in deleting touchable in G4SteppingManager.
0178
0179 o Visualization:
0180 -------------
0181 - Introduced first implementation of the G4RayTracer. With G4RayTracer
0182 all solids types supported in Geant4 can be visualised.
0183 - Added commands /vis/viewer/update, /vis/viewer/reset.
0184 - Added "compound" commands: /vis/open, /vis/drawVolume.
0185 - Added ability to visualise boolean solids through G4Polyhedron objects.
0186 - Added G4LogicalVolumeModel::DescribeSolid(), which explicitly adds
0187 components of composite solids as white forced-wireframe objects.
0188 - OPACS:
0189 o G4GoSceneHandler: correct polyhedron wire-frame in order to remove
0190 some edges.
0191 o G4WoViewer: changed camera name checking so that a viewer created
0192 by the GUI (Wo) could be hooked.
0193 o G4GoSceneHandler: changed circle rendering.
0194 - Bug fix in G4PhysicalVolumeModel for replicas.
0195
0196
0197 Notes:
0198
0199 o Geant4 2.0 is based on STL and can be installed with strict
0200 ISO/ANSI C++ compliant setup or not. See notes below.
0201
0202 The code and some binary libraries are available through our "Source
0203 Code" Web page:
0204 - see our Geant4 Home Page (http://cern.ch/geant4).
0205
0206 Please refer to the Geant4 User Documentation
0207 (http://cern.ch/geant4/G4UsersDocuments/Overview/html)
0208 for further information about using Geant4.
0209 Updates to the documentation for Geant4 2.0 are expected to be published as
0210 usual within three weeks from the release date.
0211
0212
0213 Contents
0214 --------
0215
0216 1. Supported and Tested Platforms
0217 2. LHC++ and CLHEP 1.5
0218 3. The Standard Template Library (STL)
0219 4. Persistency
0220 5. Compiler Specific Problems
0221 6. Known Run-Time Problems
0222 7. Compilation Warnings
0223 8. Known Run-Time Warnings
0224
0225
0226 1. Supported and Tested Platforms
0227 ---------------------------------
0228
0229 o SUN Solaris 5.6, C++ 4.2 patch 104631-04.
0230 o HP 10.20, aCC C++ B3910B A.01.23
0231 o Linux 2.2.12-20, gcc C++ egcs-2.91.66 (egcs 1.1.2).
0232 This configuration was tested with the RedHat 6.1 distribution, but
0233 versions of Geant4 have also been compiled successfully on Debian
0234 and Suse distributions.
0235
0236 Platforms also tested but giving rise to some problems - see below:
0237
0238 o DEC V4.0, cxx C++ V6.1-027.
0239 o SUN Solaris 5.6, C++ 5.0 patches 107357-07, 107311-09.
0240
0241 Platforms configured but not yet tested (a patch will follow, if needed):
0242
0243 o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with:
0244 Visual C++ 6.0 Service Pack 2
0245
0246 Platforms configured but not tested and not supported:
0247 o SGI V6.5.5, CC 7.2.1 with ObjectSpace
0248 o AIX 4.3.2, xlC compiler with ObjectSpace
0249
0250
0251 2. LHC++ and CLHEP 1.5
0252 ----------------------
0253
0254 Geant4 2.0 requires the installation of CLHEP 1.5.
0255
0256 See CLHEP 1.5 (http://cern.ch/clhep/INSTALLATION/clhep.html).
0257
0258 By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
0259 if the compiler is capable. You need to explicitly disable CLHEP settings in
0260 case you wish non-ISO/ANSI setup on those compilers (for example, DEC).
0261 Note that the installation of the "Hist" package in CLHEP for histogramming
0262 is now disabled by default. If you wish to install CLHEP with the "Hist"
0263 package, you need to edit the CLHEP installation scripts and add the
0264 corresponding entry.
0265
0266 Geant4 2.0 coworks with LHC++ 2.0.0 and components included therein:
0267 Objectivity 5.2.1
0268 ObjectSpace 2.1
0269 HepODBMS 0.3.1.3
0270 CLHEP 1.5.0.0
0271
0272 3. The Standard Template Library
0273 --------------------------------
0274
0275 The following versions of STL have been tested:
0276
0277 ObjectSpace STL on
0278 DEC, HP and SUN.
0279
0280 See ObjectSpace (http://www.objectspace.com).
0281
0282 "Native" STL on: Linux, HP, DEC and SUN.
0283
0284 This is selected at installation/compile time by the environment variable
0285 G4USE_OSPACE in the case of the former - see documentation.
0286
0287 NOTES:
0288 - Be aware that by default, the installation scripts will expect to use
0289 the native STL implementation. You must set the G4USE_OSPACE variable
0290 in the environment in order to select the ObjectSpace implementation.
0291
0292 - Platform specific setup:
0293 o DEC: ObjectSpace is required in non ISO/ANSI setup.
0294 Native STL is required for ISO/ANSI setup.
0295 o HP: either ObjectSpace or native STL can be used (non ISO/ANSI setup).
0296 o SUN: ObjectSpace is required in non ISO/ANSI setup (CC 4.2).
0297 Native STL is required for ISO/ANSI setup (CC 5.0 only).
0298 o Linux: native STL is required (non ISO/ANSI setup).
0299 o NT: Native STL and ISO/ANSI setup required.
0300
0301 In the interest of stability, a significant part of the code in Geant4 2.0
0302 still makes use of the "STL Interface" wrapper classes, used for allowing the
0303 migration from Rogue Wave Tools.h++ container library. For these the emphasis
0304 has remained on correct behaviour, rather than performance.
0305
0306
0307 4. Persistency
0308 --------------
0309
0310 - Platforms
0311
0312 Persistency in Geant4 2.0 release has been tested on the following
0313 platforms/software versions:
0314
0315 G4SYSTEM OS C++ compiler HepODBMS Objectivity
0316 --------- ----------- ------------ --------- -----------
0317 SUN-CC SunOS 5.6 CC 4.2 0.3.1.4 5.2.1
0318 Linux-g++ Linux RH6.1 egcs 1.1.2 0.3.1.1 5.2.1
0319
0320 - Known Problems
0321
0322 There are many warning messages on some platforms during the
0323 installation of the libraries and the compilation of the examples.
0324 Most of them can be safely ignored. It is annoying but hard to get
0325 rid of them due to various reasons.
0326
0327 For the detail of the warning messages, please refer to the release
0328 note of Geant4 1.0.
0329
0330
0331 5. Compiler Specific Problems
0332 -----------------------------
0333
0334 o DEC V4.0, cxx C++ V6.1-027.
0335
0336 - We have found cases of mis-compilation of min and max templates
0337 on DEC. We have traced those which cause serious malfunction
0338 but there is no guarantee that there are no other cases.
0339 Detailed inspection of assembler output suggests that this
0340 problem might not be confined to min and max. This has been
0341 reported to DEC/Compaq. We understand a new version 6.2 of the
0342 compiler is now available. However we cannot guarantee correct
0343 execution of Geant4 on DEC with the current version of the
0344 compiler.
0345 - A bug in cin.getline() system function causes an anomalous
0346 behavior when running in interactive-mode on DEC-cxx 6.1 in
0347 ISO/ANSI mode. We tested the bug has been fixed in more recent
0348 versions of the compiler.
0349
0350 o SUN Solaris 5.6, C++ 5.0 patches 107357-07, 107311-09.
0351
0352 Due to a compiler bug, some code in Geant4 cannot be compiled in
0353 optimised mode, patches are available from SUN (107357-09, 107311-10)
0354 which are claimed to fix this problem, we have not been able to test
0355 them yet. Tests have been performed only by using the debuggable
0356 version of the libraries.
0357
0358
0359 6. Known Run-Time Problems and Limitations
0360 ------------------------------------------
0361
0362 - In the "high energy" hadronic model, a problem of energy non conservation
0363 has been observed. A fix for it is currently under test and will be
0364 available soon in a public patch.
0365 - In multiple scattering, the nuclear size correction maybe not well adapted
0366 for electrons. A fix will come soon.
0367 - The parametrisation of the total cross section for electron bremsstrahlung
0368 will be reviewed in order to allow generation of gamma below 10 keV.
0369
0370
0371 7. Compilation Warnings
0372 -----------------------
0373
0374 There are compilation warnings on some platforms. We do not believe
0375 that any will lead to incorrect run-time behaviour, but we are working
0376 on reducing them.
0377
0378
0379 8. Known Run-Time Warnings
0380 --------------------------
0381
0382 The following messages can be written to error output while tracking. We
0383 believe none give rise to incorrect behaviour.
0384
0385 o G4PropagateInField: Warning: Particle is looping
0386 - tracking in field will be stopped.
0387 It has performed 10000 steps in Field while a maximum of 10000
0388 are allowed.