Back to home page

EIC code displayed by LXR

 
 

    


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.