Warning, /geant4/CHANGELOG/ReleaseNotes4.3.1.txt is written in an unsupported language. File is not indexed.
0001
0002 Geant4 3.1 Release Notes
0003 ------------------------
0004
0005 6th April 2001
0006
0007 These are the main new features/fixes included in this release since
0008 release 3.0 (for the detailed list of fixes/additions, please refer to the
0009 related History files):
0010
0011 o Configuration:
0012 -------------
0013 - Added/enabled code in configuration files to store path to dynamic
0014 library from example/test directory in the executable.
0015
0016 o Digits+Hits:
0017 -----------
0018 - Migrated classes to use STL <vector> instead of RW wrappers.
0019
0020 o Event:
0021 -----
0022 - Migrated classes to use STL <vector> instead of RW wrappers.
0023 - Added proper time to G4PrimaryParticle.
0024 - Fixed bug in G4GeneralParticleSource.
0025
0026 o Electromagnetic Processes (Low-energy):
0027 --------------------------------------
0028 - Changes for STL migration of G4OrderedTable and G4DataVector.
0029 - Removed obsolete class G4Data.
0030
0031 o Electromagnetic Processes (Standard):
0032 ------------------------------------
0033 - Small corrections in e/hEnergyLoss to ensure consistency between
0034 cut in range and step limitation due to energy loss (finalRange
0035 data member <-> cut in range)
0036 - Change in energy loss computation in eBrems process.
0037 Parametrisation of energy loss due to soft brems has been corrected
0038 for big cut values.
0039 - Bug-fix in e/hEnergyLoss processes for AlongStepDoIt().
0040 Do not use PostStep information in AlongStepDoIt() when generating
0041 sub-cutoff delta rays.
0042 - Small corrections in MuEnergyLoss process.
0043 - Bug fixed in MultipleScattering: there was an error in computation
0044 of the transport cross section, the cross section was too small for
0045 low energy (below few MeV for electrons).
0046 - Bug fixed in G4MuBremstrahlung::PostStepDoIt() in sampling energy
0047 of generated photons. Fixes the problem sometimes occuring of
0048 negative interaction length detected.
0049 - Fix at small cut value for error in loss fluctuations
0050 (for example in Al 100 microns).
0051 - Suppressed protection in PhotoElectric process.
0052 - Adopt fStopButAlive in eplusAnnihilation process.
0053 - Introduced new module 'integral' for integral processes: moved
0054 existing integral processes (G4I*, G4VI*) therein.
0055
0056 o General Processes, Parameterisation, Decay, Optical:
0057 ---------------------------------------------------
0058 - Modified G4OpRayleigh to allow for Rayleigh scattering length to
0059 be defined for arbitrary material through the use of
0060 G4MaterialPropertyTable. This deals with bug report #199.
0061 - Fixes in the DoIt of G4OpRayleigh: to allow for positive and negative
0062 CosTheta and to force the new momentum direction of the photon after
0063 scattering to be in the same plane as the new and old polarization
0064 vectors. Deals with bug report #207.
0065 - Added abstract class G4VExtDecayer for external decayer and modified
0066 G4Decay accordingly.
0067 - Modified Store/RetrievePhysicsTable() methods: added a bool argument
0068 to specify ascii/binary mode.
0069
0070 o Geometry:
0071 --------
0072 - Boolean solids:
0073 o Minor fix to labels in G4Exception calls.
0074 Fixes problem report #200.
0075 o G4IntersectionSolid:
0076 - Fix in CalculateExtent() for computation of 'pMin'
0077 and 'pMax', to avoid assignment in case CalculateExtent() of
0078 one component solid fails.
0079 - Fix in Inside() to return 'kOutside' in case first component
0080 solid's Inside() returns 'kOutside'.
0081 o G4UnionSolid:
0082 - Fix in DistanceToOut(p,v,...) for assignment of argument *n to
0083 happen only if calcNorm is false.
0084 - Fix in CalculateExtent() for computation of 'pMin' and 'pMax'.
0085
0086 - CSG solids
0087 o G4Tubs:
0088 - Corrections in phi-section algorithm of Inside(p).
0089 - Fixed condition from (pPhi<0) to (pPhi<-0.5*kAngleTolerance)
0090 in Inside(p). Fixes problem report #198.
0091 - Fixed bug in function Inside(p) in computation of pPhi
0092 for points at phi = 0 if the (start phi)+(delta phi) is
0093 at phi = 0.
0094 - Temporarly modified CalculateExtent(...), now simply based
0095 on G4Box::CalculateExtent(...).
0096 o G4Box:
0097 - Introduced checks against negative (or <2*kCarTolerance)
0098 dimensions in methods SetXHalfLength(), SetYHalfLength() and
0099 SetZHalfLength().
0100 - Fixes to algorithm for computation of rotated vertices in
0101 CalculateExtent().
0102 o G4Torus:
0103 - Extracted logic for G4PolynomialSolver now included
0104 in global/HEPNumerics.
0105
0106 - Specific solids:
0107 o Fix in G4Hype::DistanceToOut(p,v,...): added protection against
0108 zero v.z.
0109 o G4IntersectingCone: make small adjustment to help with roundoff
0110 error in LineHitsCone1() and LineHitsCone2().
0111
0112 - Magnetic Field
0113 o Minor fix to G4MagneticField.hh: added explicit call to G4Field()
0114 in copy constructor. Fixes problem report #205.
0115 o Fixed G4MagHelicalStepper::AdvanceHelix for momentum, allowing
0116 the possibility of (correct) use of all Helical Steppers.
0117 o Corrected field components in G4UniformElectricField.
0118
0119 - Management
0120 o Introduced G4AssemblyVolume: helper class to combine
0121 volumes together in an arbitrary way in the 3D space.
0122
0123 - Volumes
0124 o Fix in G4ReplicaNavigation::ComputeTransformation() to consider
0125 'pVol' for SetPhiTransformation() in the kPhi case.
0126 o Fix in G4ReplicaNavigation::ComputeStep() to initialise 'ourStep'
0127 to kCarTolerance.
0128
0129 o Global:
0130 ------
0131 - Migrated G4PhysicsTable, G4PhysicsVector and all related classes
0132 to use STL <vector> instead of RW wrappers.
0133 - Fix to G4Allocator destructor: bug report #181.
0134 - Added generic class G4PolynomialSolver in HEPNumerics module.
0135 - Removed from G4PhysicsVector dependency over G4PhysicsTable.
0136 Removed methods: LinkPhysicsTable(), IsLinkedTableExist() and
0137 GetNextTable(). Removed data-member ptrNextTable.
0138 - Added new unit 'parsec' to SystemOfUnits.h
0139 - Fixed bug in constructor of G4PhysicsLnVector: initialised
0140 'dataVector' to zero.
0141 - Added Store/RetrievePhysicsTable methods in G4PhysicsTable.
0142 - Added Store/Retrieve and GetType methods in G4PhysicsVector and
0143 related.
0144 - Introduced G4PhysicsVectorType class (enumeration).
0145 - G4UnitsTable: resolved ambiguity of old/new style iostream for
0146 formatting in operator<<.
0147
0148 o Graphics Representations:
0149 ------------------------
0150 - Tidying for CodeWizard. Added virtual destructors to
0151 HepPolyhedronBox, etc. Also made all constructors non-inline.
0152 - Removed G4Circle.icc and G4VVisPrim.icc.
0153
0154 o Hadronic Processes:
0155 ------------------
0156 - Bug fix for very low energy ion cross-sections; should have no
0157 visible effect.
0158 - Moved inline implementation of G4Solver to G4Solver.icc.
0159
0160 o Materials:
0161 ---------
0162 - Bug fixed in G4IonisParamMat.cc : E100eV instead of E100keV
0163 This bug affected the values of the density correction parameters
0164 in the energy loss (dE/dx) computation: ~3-5 % error in dE/dx in
0165 the energy range 1 MeV - 50 MeV !
0166 - Added new method G4Material::GetNuclearInterLength().
0167 - Bug fix concerning units in G4SandiaTable::GetSandiaCofPerAtom().
0168 Reimplemented G4SandiaTable::ComputeMatSandiaMatrix().
0169 - Added protection in GetSandiaCofForMaterial().
0170 - fnulcof added as data member in G4SandiaTable.
0171 - Revision of destructor, copy constructor, assignement operator in
0172 G4IonisParam, G4Isotope, G4Element and G4Material, according to
0173 problem report #106.
0174 - Removed warning to cerr in GetIsotope(name), GetElement(name),
0175 and GetMaterial(name).
0176
0177 o Particles:
0178 ---------
0179 - Added pre-assignedDecayTime to G4DynamicParticle.
0180 - Bug fix in calculation of electron energy in G4MuDecayChannel.
0181 Fixes problem report #224.
0182 - Fixed a bug in G4DynamicParticle::SetDefinition() for problem
0183 report #228.
0184 - Added RestoreCuts() methods to G4ParticleWithCuts class.
0185
0186 o Persistency:
0187 -----------
0188 - G4PDCofThisEvent.ddl: fixed a bug in GetNumberOfCollections().
0189
0190 o Readout:
0191 -------
0192 - Migrated classes to use STL <vector> instead of RW wrappers.
0193
0194 o Run and Intercoms:
0195 -----------------
0196 - Migrated classes to use STL <vector> instead of RW wrappers.
0197
0198 o Tracking & Track:
0199 ----------------
0200 - Changes for STL migration of G4OrderedTable and G4DataVector.
0201 - Migrated classes to use STL <vector> instead of RW wrappers.
0202 - Added comments to headers for the Software Reference Manual.
0203 - Added copy constructor for G4Track.
0204 - Fix in G4Track::GetVelocity() for Gamma
0205 - Fixes to G4StepPoint::GetVelocity() for problem report #208
0206 and to return correct value in case of optical-photon.
0207 - Added call to SetVelocity() in G4Step::InitializeStep().
0208 - G4PArticleChange: fix in case momentum is zero, (even if
0209 energy>0.0 and very small) to overcome problems due to
0210 precision issues.
0211
0212 o Transportation:
0213 --------------
0214 - Improved calculation of energy at the end of the field.
0215 - G4Transportation modified to use new FieldTrack, and get Kinetic
0216 Energy from it. This implements integration in Momentum (*c-light)
0217 instead of velocity.
0218
0219 o Visualization:
0220 -------------
0221 - Changed rotation of phi-replicas in G4PhysicalVolumeModel.cc to
0222 ensure correspondence with rule that phi=0 bisects the replica.
0223
0224 WARNING: Prior to this fix the graphics did NOT correspond to the
0225 replica navigation. If you have been relying on the graphics to
0226 position daughter volumes in a phi-replica, navigation will have
0227 been incorrect, possibly without causing a crash. The above fix
0228 will change the apparent position as shown by the graphics and you
0229 will have to correct the positioning of daughters. Make sure the
0230 daughters are all properly enclosed within the replica. Graphics
0231 and navigation now correspond.
0232 - Added auto-refresh facility for OpenGL.
0233 - Bug fixes for problems:
0234 #120: improved up vector calculation to avoid view "flipping"
0235 at (90, 90).
0236 #157: fixed crash when viewer was defined before scene.
0237 #204: fixed failure to change number of sides per circle.
0238 - Fixed problem when requested physical volume was at depth 2 or more.
0239 - Migrated classes to use STL <vector> instead of RW wrappers.
0240 - Introduced many new commands (listed below). Old commands print a
0241 DEPRECATED warning.
0242 o New compound command:
0243 /vis/drawView [<theta-deg>] [<phi-deg>]
0244 [<pan-right>] [<pan-up>] [<pan-unit>]
0245 [<zoom-factor>] [<dolly>] [<dolly-unit>]
0246 o New primitive commands:
0247 /vis/enable [true|false]
0248 /vis/disable
0249 /vis/verbose []
0250 /vis/viewer/set/lineSegmentsPerCircle []
0251 /vis/viewer/set/sectionPlane ...
0252 /vis/viewer/set/autoRefresh
0253 /vis/viewer/set/projection
0254 /vis/viewer/dolly
0255 /vis/viewer/dollyTo
0256 /vis/viewer/lightsThetaPhi
0257 /vis/viewer/lightsVector
0258 /vis/viewer/pan
0259 /vis/viewer/panTo
0260 /vis/viewer/viewpointThetaPhi
0261 /vis/viewer/viewpointVector
0262 /vis/viewer/zoom
0263 /vis/viewer/zoomTo
0264 /vis/viewer/set/hiddenMarker
0265 /vis/viewer/set/lightsMove
0266
0267 o G4toG4 Tool:
0268 -----------
0269 - Fixed bug in G3toG4BuildTree(G3VolTableEntry*, G3VolTableEntry*)
0270 when positioning volume copies. Index is now decremented.
0271 Added -DG3G4DEBUG to CPPFLAGS in GNUmakefile.
0272 Fixes bug report #188.
0273 - Added support for replicated "PARA" shapes in
0274 G3Division::CreateSolid(...). Slices are placed with
0275 G4PVPlacement instead of G4PVReplica for this particular case.
0276 - G3toG4MakeSolid.cc: fixed bug in construction of G4Sphere where
0277 'theta' and 'phi' parameters were reversed according to G4Sphere
0278 constructor. Fixes problem report #230.
0279
0280 o Examples:
0281 --------
0282 - Introduced modular Physics List in exampleN04.
0283 - ExampleN02: fix to ExN02ChamberParameterisation and
0284 ExN02DetectorConstruction to cope with bug report #186.
0285 - Added G4MuonMinusCaptureAtRest in physics list of ExampleN04.
0286
0287
0288 Notes:
0289
0290 o Geant4 3.1 is based on STL and can be installed with strict
0291 ISO/ANSI C++ compliant setup or not. See notes below.
0292
0293 The code and some binary libraries are available through our "Source Code"
0294 Web page:
0295 - see our Geant4 Home Page (http://cern.ch/geant4).
0296
0297 Please refer to the Geant4 User Documentation
0298 (http://cern.ch/geant4/G4UsersDocuments/Overview/html)
0299 for further information about using Geant4.
0300 Updates to the documentation for Geant4 3.1 are expected to be published as
0301 usual within three weeks from the release date.
0302
0303
0304 Contents
0305 --------
0306
0307 1. Supported and Tested Platforms
0308 2. ANAPHE and CLHEP
0309 3. The Standard Template Library (STL)
0310 4. Persistency
0311 5. Compiler Specific Problems
0312 6. Known Run-Time Problems
0313 7. Compilation Warnings
0314 8. Known Run-Time Warnings
0315
0316
0317 1. Supported and Tested Platforms
0318 ---------------------------------
0319
0320 o SUN Solaris 5.6/5.7, C++ 4.2 Patch 104631-04, C++ 5.2 Patch 109508-02.
0321 o HP 10.20, aCC C++ B3910B A.01.23
0322 o Linux 2.2.17-7, gcc C++ egcs-2.91.66 (egcs 1.1.2), gcc 2.95.2.
0323 This configuration was tested with the RedHat 6.1 distribution, but
0324 versions of Geant4 have also been compiled successfully on Debian
0325 and Suse distributions.
0326 o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with:
0327 Visual C++ 6.0 Service Pack 2
0328
0329 Platforms also tested but giving rise to some problems - see below:
0330
0331 o DEC V4.0, cxx C++ V6.1-027.
0332
0333 Platforms configured but not tested and not supported:
0334 o SGI V6.5.5, CC 7.2.1 with ObjectSpace
0335 o AIX 4.3.2, xlC compiler with ObjectSpace
0336
0337
0338 2. ANAPHE and CLHEP
0339 -------------------
0340
0341 Geant4 3.1 requires the installation of CLHEP.
0342
0343 See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
0344 Tests have been performed with CLHEP 1.6.0.0.
0345
0346 By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
0347 if the compiler is capable. You need to explicitly disable CLHEP settings in
0348 case you wish non-ISO/ANSI setup on specific compilers.
0349
0350 Geant4 3.1 coworks with ANAPHE 3.2.0 and components included therein:
0351 Objectivity 5.2.1
0352 ObjectSpace 2.1
0353 HepODBMS 0.3.1.4
0354 CLHEP 1.6.0.0
0355
0356 For more information about ANAPHE, see: http://cern.ch/anaphe
0357
0358
0359 3. The Standard Template Library
0360 --------------------------------
0361
0362 The following versions of STL have been tested:
0363
0364 ObjectSpace STL on SUN (CC 4.2).
0365
0366 See ObjectSpace (http://www.objectspace.com).
0367
0368 "Native" STL on: Windows/NT, Linux, HP, DEC and SUN (CC 5.2).
0369
0370 This is selected at installation/compile time by the environment variable
0371 G4USE_OSPACE in the case of the former - see documentation.
0372
0373 NOTES:
0374 - Be aware that by default, the installation scripts will expect to use
0375 the native STL implementation. You must set the G4USE_OSPACE variable
0376 in the environment in order to select the ObjectSpace implementation.
0377
0378 - Platform specific setup:
0379 o DEC: ObjectSpace is required in non ISO/ANSI setup.
0380 Native STL is required for ISO/ANSI setup.
0381 o HP: either ObjectSpace or native STL can be used (non ISO/ANSI setup).
0382 o SUN: ObjectSpace is required in non ISO/ANSI setup (CC 4.2).
0383 Native STL is required for ISO/ANSI setup (CC 5.2 only).
0384 o Linux: Native STL is required (non ISO/ANSI setup).
0385 o NT: Native STL and ISO/ANSI setup required.
0386
0387 In the interest of stability, part of the code in Geant4 3.1 still makes use
0388 of the "STL Interface" wrapper classes, used for allowing the migration from
0389 Rogue Wave Tools.h++ container library. For these the emphasis has remained
0390 on correct behaviour, rather than performance.
0391
0392
0393 4. Persistency
0394 --------------
0395
0396 See release notes for Geant4 3.0.
0397
0398 5. Compiler Specific Problems
0399 -----------------------------
0400
0401 o DEC V4.0, cxx C++ V6.1-027.
0402
0403 - We have found cases of mis-compilation of min and max templates
0404 on DEC. We have traced those which cause serious malfunction
0405 but there is no guarantee that there are no other cases.
0406 Detailed inspection of assembler output suggests that this
0407 problem might not be confined to min and max. This has been
0408 reported to DEC/Compaq. We understand a new version 6.2 of the
0409 compiler is now available. However we cannot guarantee correct
0410 execution of Geant4 on DEC with the current version of the
0411 compiler.
0412 - A bug in cin.getline() system function causes an anomalous
0413 behavior when running in interactive-mode on DEC-cxx 6.1 in
0414 ISO/ANSI mode. We tested the bug has been fixed in more recent
0415 versions of the compiler.
0416
0417
0418 6. Known Run-Time Problems and Limitations
0419 ------------------------------------------
0420
0421 For a complete list of outstanding run-time problems and to submit any
0422 problem you may find running this version of Geant4, please refer to the
0423 Geant4 Problem Reporting System, available on the Web at this address:
0424
0425 http://cern.ch/geant4/problemreport
0426
0427
0428 7. Compilation Warnings
0429 -----------------------
0430
0431 There are compilation warnings on some platforms. We do not believe
0432 that any will lead to incorrect run-time behaviour, but we are working
0433 on reducing them.
0434
0435
0436 8. Known Run-Time Warnings
0437 --------------------------
0438
0439 The following messages can be written to error output while tracking. We
0440 believe none give rise to incorrect behaviour.
0441
0442 o G4PropagateInField: Warning: Particle is looping
0443 - tracking in field will be stopped.
0444 It has performed 10000 steps in Field while a maximum of 10000
0445 are allowed.