Back to home page

EIC code displayed by LXR

 
 

    


Warning, /geant4/CHANGELOG/ReleaseNotes4.3.0.txt is written in an unsupported language. File is not indexed.

0001 
0002                  Geant4 3.0 Release Notes
0003                  ------------------------
0004 
0005                                                      15th December 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 Analysis
0011     --------
0012     - New module for analysis/histogramming management and concrete
0013       drivers interfaces through AIDA: JAS, Lizard, OpenScientist.
0014 
0015   o Configuration:
0016     -------------
0017     - Added unsupported configuration WIN32-g++ 
0018       for Windows/NT/9X and Cygwin with g++ compiler.
0019     - Introduced changes to handle analysis module.
0020     - Incorporated building of shared libraries into .gmk files
0021       (NOTE: tests on shared libraries currently perfomed only on
0022              Linux-g++ and SUN-CC platforms)
0023       o Introduced new variables steering the building of shared/static
0024         libraries (static still default): G4LIB_BUILD_SHARED and
0025         G4LIB_BUILD_STATIC.
0026       o Introduced new variable (G4LIB_USE_GRANULAR) to force using of
0027         granular libraries.
0028     - Added rules for "includes" gmake target, to copy all header files
0029       in a single location specified by $G4INCLUDE path. 
0030     - Introduced SUN-CC5 G4SYSTEM architecture for SUN CC 5.1 compiler. 
0031 
0032   o Event:
0033     -----
0034     - Added new Set methods to G4PrimaryVertex and G4PrimaryParticle. 
0035     - Introduced ParticleGun for Ions and weights for primary vertex
0036       and particle:
0037       o G4ParticleGun: added Set/GetParticleCharge methods for ions. 
0038       o G4ParticleGunMessenger: added new command of /gun/ion;
0039         modified command of /gun/particle.
0040       o G4PrimaryParticle: add Set/GetCharge methods, added weight.
0041       o G4PrimaryVertex: added weight.
0042       o G4PrimaryTransformer: use G4PrimaryParticle::GetCharge to give
0043         dynamic charge in G4DynamicParticle; set weight of G4Track.
0044     - Introduced G4GeneralParticleSource and related classes. 
0045       G4GeneralParticleSource is an alternative primary source 
0046       generator to G4ParticleGun. It has all the functions of 
0047       G4ParticleGun plus many options for specifying the primary 
0048       event particle and vertex.
0049 
0050   o Electromagnetic Processes (Low-energy):
0051     --------------------------------------
0052     - Bug fix to G4hLowEnergyIonisation, relevant for particles 
0053       with absolute charge value greater than 1.
0054     - Bug fix on electron energy loss fluctuations.
0055     - New features on antiproton ionisation, extending the model for
0056       application to generic materials. 
0057     - Modifications in hadron classes (renaming of classes).
0058     - Bug fix related to the charge dependence of ion fluctuations.
0059     - Fixes to G4LowEnergyUtilities to replace the obsolete HepString
0060       with G4String.
0061     - Bug fixes for problems found on setting cuts.
0062     - Bug fix for nuclear stopping table name, improvements in 
0063       code quality and added comments for the Software Reference Manual.
0064 
0065   o Electromagnetic Processes (Standard):
0066     ------------------------------------
0067     - G4eBremsstrahlung : new cross section and energy-loss parametrisation.
0068     - Update to G4VhEnergyLoss.cc, G4VhEnergyLoss.hh, G4hIonisation.cc 
0069       in order to simulate energy losses of ions; correction to cross
0070       section for particles with spin 1.
0071     - Removed class G4ionIonisation.
0072     - Fix in G4VhEnergyLoss and G4ionIonisation in AlongStepDoIt 
0073       for particles with Charge^2 > 1.
0074     - Stopped very low energy photons in photo electric effect.
0075     - Moved ElossMessenger to G4VEnergyLoss.
0076     - Bug fix in G4Cerenkov and G4Scintillation: corrected usage of
0077       the 'step length' to position the origins of secondaries.
0078     - Corrections on Polarized Compton:
0079       o Sampling of Phi
0080       o Depolarization probability 
0081     - G4IeBremsstrahlung:
0082       o new cross section/en.loss parametrisation, LPM flag.
0083       o corrections in the LPM implementation.
0084     - Changed signature in GetLossWithFluct.
0085     - G4EnergyLossMessenger: created subdirectory /process/eLoss.
0086       Added class description for Software Reference Manual.
0087     - EnergyLossTable: use "const G4Material*" where required.
0088     - Introduced correction to G4Cerenkov to fix a problem when 
0089       an optical medium has refraction indices all equal to 1.
0090 
0091   o General Processes, Parameterisation, Decay, Optical:
0092     ---------------------------------------------------
0093     - Bug fix in G4Decay to avoid direct modification of G4Track by
0094       the Decay process.
0095     - Fixed bugs in G4ProcTblElement::operator= 
0096     - Removed destruction of processes in G4ProcessTable destructor.
0097     - Implemented full STL migration in G4ProcessVector.
0098     - Added thePILfactor and GPIL methods in G4VProcess.
0099     - Added Store/RetrievePhysicsTable() methods.
0100 
0101   o Geometry:
0102     --------
0103     QA code cleanup. Cleanup warnings issued by "-Wall -ansi -pedantic"
0104     g++ compiler options.
0105     - Boolean solids:
0106       o G4SubtractionSolid.cc: relaxed behavior in SurfaceNormal(p), 
0107         where it is now allowed for a point to be inside the solid. 
0108         A message is thrown to cerr instead of a G4Exception. 
0109       o Added new set methods for matrix/vectors to G4DisplacedSolid:
0110         SetTransform(G4AffineTransform&),
0111         SetDirectTransform(G4AffineTransform&),
0112         SetFrameRotation(const G4RotationMatrix&),
0113         SetFrameTranslation(const G4ThreeVector&),
0114         SetObjectRotation(const G4RotationMatrix&),
0115         SetObjectTranslation(const G4ThreeVector&).
0116     - BREPS solids:
0117       o Fix in G4Ellipse::Project() for computation of u as function
0118         of atan2().
0119       o Changed return value to be "const" pointer to functions:
0120         - G4BREPSolid::GetPlace()
0121         - G4BREPSolid::GetBBox()
0122       o G4Assembly: fix in destructor, added call to clearAndDestroy().
0123       o G4BREPSolid: changed method NumberOfFaces() to GetNumberOfFaces().
0124       o G4Curve: fixed obsolete workaround for XlC compiler.
0125       o G4OsloMatrix: changed internal class "Matrix" to "G4PointMatrix"
0126         and updated classes making use of it.
0127       o G4ThreeMat:removed unused overloaded operators =, +, -, +=, -=, *.
0128     - CSG solids
0129       o Fix to G4Tubs and G4Cons in DistanceToIn/DistanceToOut: 
0130         + fixes to DistanceToOut(p,v,...) to make roots of quadratic
0131           equations more stable.
0132         + added check against negative distance returned.
0133       o Fixes to G4Cons:
0134         + corrected condition on conical surface to consider a real
0135           projection of the conical surface thickness on XY plane
0136           (0.5*kCarTolerance*secRMin instead of 0.5*kCarTolerance),
0137           when dealing with cons with large opening angle.
0138         + fix in constructor to check if one of the Rmin different than 0,
0139           to avoid degenerated cones.
0140       o G4Torus: introduced Newton-based numerical method for computing
0141         roots of equations in DistanceToIn() and DistanceToOut().
0142       o Bug fixed in G4Tubs::Inside(p) for analysis of phi positioning 
0143         when on +-fDz surface.
0144       o Fix in G4Tubs::DistanceToOut(p,v,...): initialised sr and sphi to
0145         kInfinity and re-introduced additional condition on check for
0146         Rmin intersection (t2 >= 0).
0147     - Specific solids:
0148       o Fix in G4IntersectingCone.cc: the check for a zero radical has been
0149         adjusted to be less sensitive to round off error in LineHitsCone1(),
0150         LineHitsCone2().
0151     - STEP
0152       o dirobj.h: protected from missing definition of MAXNAMLEN, S_IFMT
0153         and S_IFDIR originally defined in /usr/include/sys/stat.h.
0154     - STEPinterface
0155       o Added GetInstanceManager() method to G4GeometryCreator.
0156       o Changed return value to "const char*" to method Name() and made
0157         post-const in all creator classes.
0158       o Fix in G4Axis2Placement3dCreator::CreateSTEPGeometry(void*).
0159     - Magnetic Field
0160       o Fix in G4FieldManager: added check on existence of allocated
0161         fChordFinder in CreateChordFinder(G4MagneticField*) method.
0162       o Changed return value to be "const" pointer to functions: 
0163         + G4EquationOfMotion::GetFieldObj() 
0164         + G4FieldManager::GetDetectorField() 
0165         + G4MagIntegratorDriver::GetStepper() 
0166       o Fixed and corrected signature to G4MagIntegratorDriver::SetHmin(). 
0167     - Management
0168       o Fixed bug in destructor of G4SolidStore. Memory corruption at
0169         application exit was occuring when Boolean solids were involved.
0170       o Fix in G4VSolid::CalculateClippedPoligonExtent():
0171         removed assumption that pMin<pMax by eliminating "else"
0172         condition.
0173     - Volumes
0174       o Changed return value to be "const" pointer to functions:
0175         - G4LogicalBorderSurface::GetVolume1()
0176         - G4LogicalBorderSurface::GetVolume2()
0177         - G4LogicalSkinSurface::GetLogicalVolume()
0178 
0179   o Global:
0180     ------
0181     - Moved G4VStateDependent and G4StateManager classes into
0182       global/management from intercoms. 
0183     - Added "Abort" state is added G4ApplicationState. 
0184     - Modified G4Exception to change Geant4 status to "Abort". 
0185     - Bug fix of "double deleting" in the destructor of G4StateManager.
0186     - Defined G4RandGauss to invoke CLHEP's RandGaussQ, 
0187       needed to fix general events' reproducibility problem. 
0188     - Added STL wrapper for in management/include/g4std.
0189     - QA code cleanup from Code-Wizard and warnings issued by 
0190       "-Wall -ansi -pedantic" g++ compiler options.
0191 
0192   o Hadronic Processes:
0193     ------------------
0194     - General update of source code documentation.
0195     - management
0196       o Introduced the possibility for cross-section biasing.
0197     - util
0198       o Added G4Pair class as utility (to be replaced with stl in due course)
0199       o Added protection to G4ReactionDynamics in case no secondary has been
0200         created.
0201     - high_energy
0202       o Fixed bug causing energy non-conservation in pion interactions.
0203       o Code cleanup.
0204     - neutron_hp
0205       o Added several protections against non-physical cross-section values
0206         removed 'const' in operator+ of G4NeutronHPVector to work around
0207         compiler inconsistencies.
0208       o Removed 'const' in GetXsec(G4int i) of G4NeutronHPVector to work
0209         around compiler inconsistencies.
0210       o Introduced self-hashing has table to optimize initialization and
0211         run-time performance (factor 4 in init, 2 at run-time)          
0212       o Introduced correct treatment of compound cross-sections
0213         full event by event correlations in Capture below 100 keV regardless
0214         the data quality
0215       o Correction of a Q-value miscalculation in exceptional conditions in
0216         Capture
0217       o Added Protections in case no photon energies given in the capture
0218         data.
0219       o Fixed error in accessing gamma level 49 in n->ngamma inelastic channel
0220       o Added recoil production to several inelastic channels
0221       o Added protections in cases interpolations between expansions in terms
0222         of legendre polynomials lead to non-physical cross-section integrals.
0223     - radiative_decay
0224       o Fix to const-ness of G4DynamicParticle to co-work with latest changes
0225         in 'track' module.
0226       o Code correction in integration of Fermi beta functions.
0227     - diffractive_string
0228       o Updated sampling of impact parameter for re-use.
0229     - kinetic_model
0230       o Fixed a memory leak
0231       o Added protection in case to pre-compound phase was registered
0232     - management(gen)
0233       o Added impact parameter sampling possibility to G4V3DNucleus.
0234     - quark_gluon_string
0235       o Fixed memory leak in G4SPBaryon and G4SPBaryonTable
0236       o Introduced improved of low energy cut-off for string creation
0237       o Updated sampling of impact parameter for re-use
0238     - string_fragmentation
0239       o Design iteration to allow for use of quark molecular dynamics.
0240     - util
0241       o Updated G4Parton to allow for use of quark molecular dynamics.
0242       o Bug-fix in Lorentz boost in G4Fancy3DNucleus
0243       o Added protection of G4Fragment against negative excitation energies
0244       o Fixed memory leaks in G4KinetiTrack
0245     - pre_equilibrium
0246       o Design iteration
0247       o Update of barrier penetration factors
0248     - string_common
0249       o Design iteration to allow for usage of quark molecular dynamics.
0250 
0251     NOTE: the consistent data sets for photon evaporation and radio-active
0252           decay (derived from the same version of the ENSDF data) are
0253           provided from Web in the source download area. A previous version
0254           of photon evaporation data is also provided.
0255 
0256   o Interfaces:
0257     ----------
0258     - Modified G4UIterminal, G4VUIshell, G4UIcsh and G4UItcsh to display
0259       the break status as a prompt characters.
0260     - Minor fixes in G4VInteractorManager and G4VUIShell.
0261 
0262   o Materials:
0263     ---------
0264     - Fixed initialization of pointers in G4SandiaTable constructor
0265       and corrected deletion of fPhotoAbsorptionCof in destructor.
0266 
0267   o Parameterisations
0268     -----------------
0269     - New top category for specific parameterisation models:
0270       G4FoamXrayTRmodel, G4GamDistrXrayTRmodel, G4IrregularXrayTRmodel,
0271       G4PAIclusterModel, G4PhotoClusterModel, G4PlateIrrGasXrayTRmodel,
0272       G4RegularXrayTRmodel, G4VClusterModel, G4VXrayTRmodel.
0273 
0274   o Particles:
0275     ---------
0276     - Added const to G4DynamicParticle::GetPreAssignedDecayProducts.
0277     - Added method G4IonTable::GetElementNumber.
0278     - Added neutron life time.
0279     - Fixed stable flag for G4PionMinus.
0280 
0281   o Run and Intercoms:
0282     -----------------
0283     - Modified G4RunManager and G4RunMessenger: eliminated 
0284       G4StateManager::Pause().
0285     - Made G4UImanager state dependent.
0286     - Added Retrieve/StorePhysicsTable() and related methods in
0287       G4VUserPhysicsList and modified BuildPhysicsTable() method. 
0288     - Added store/retreivePhysicsTable command in
0289       G4UserPhysicsListMessenger.
0290     - Moved default place for storing random number status out of main
0291       directory.
0292     - Added G4VModularPhysicsList and G4VPhysicsConstructor 
0293       to modularize UserPhysicsList.
0294     - Fixed bug in G4VUserPhysicsList::StorePhysicsTable().
0295 
0296   o Tracking & Track:
0297     ----------------
0298     - Added protection when PiMinusAbsorptionAtRest and Decay processes
0299       are deactivated.
0300     - Bug fixes in copy constructor of G4ParticleChange.
0301     - Added "const" to G4DynamicParticle pointer of returned value of 
0302       G4Track::GetDynamicParticle 
0303 
0304   o Visualization:
0305     -------------
0306     - Fixed bug in /vis/lights/direction to not refresh view. 
0307     - G4PhysicalVolumeModel: added protection against volumes without
0308       material.
0309     - Removed /vis/viewer/update from compound commands /vis/drawVolume
0310       and /vis/specify.
0311 
0312   o G4toG4 Tool:
0313     -----------
0314     - Moved tests clGeometry and cltog4 from source/g3tog4/test to
0315       examples/extended/g3tog4. Default build mechanism is now used.
0316     - Bug-fix in destructor for G3RotTable.
0317     - Added handling of ELTU (Elliptical Tube) solid.
0318     - Fixed initialisation of pDPhi for CONS in G3toG4MakeSolid.cc.
0319     - G4PhysicalVolumeModel: added protection against volumes without
0320       material.
0321     - Added protection against multiple positiong of the same physical 
0322       volume and added methods ClearG3PosCopy(G4int) and ClearDivision() 
0323       in G3VolTableEntry . 
0324     - Removed useless G3toG4Debug global method and file. 
0325       Replaced verbosity by G3G4DEBUG flag. 
0326     - Removed obsolete class/files G3CalcParams[.hh.cc].
0327 
0328   - Examples:
0329     --------
0330     o New "advanced" examples for specific applications:
0331       xray_telescope, brachyterapy and gammaray_telescope.
0332 
0333 Notes: 
0334 
0335   o  Geant4 3.0 is based on STL and can be installed with strict
0336      ISO/ANSI C++ compliant setup or not. See notes below.
0337 
0338 The code and some binary libraries are available through our "Source
0339 Code" Web page:
0340 - see our Geant4 Home Page (http://cern.ch/geant4).
0341 
0342 Please refer to the Geant4 User Documentation
0343 (http://cern.ch/geant4/G4UsersDocuments/Overview/html)
0344 for further information about using Geant4.
0345 Updates to the documentation for Geant4 3.0 are expected to be published as
0346 usual within three weeks from the release date.
0347 
0348 
0349 Contents
0350 --------
0351 
0352   1. Supported and Tested Platforms
0353   2. ANAPHE and CLHEP
0354   3. The Standard Template Library (STL)
0355   4. Persistency
0356   5. Compiler Specific Problems
0357   6. Known Run-Time Problems
0358   7. Compilation Warnings
0359   8. Known Run-Time Warnings
0360 
0361 
0362 1. Supported and Tested Platforms
0363 ---------------------------------
0364 
0365   o SUN Solaris 5.6/5.7, C++ 4.2 Patch 104631-04, C++ 5.1 Patch 109490-01.
0366   o HP 10.20, aCC C++ B3910B A.01.23
0367   o Linux 2.2.12-20, gcc C++ egcs-2.91.66 (egcs 1.1.2).
0368       This configuration was tested with the RedHat 6.1 distribution, but
0369       versions of Geant4 have also been compiled successfully on Debian
0370       and Suse distributions.
0371   o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with:
0372       Visual C++ 6.0 Service Pack 2
0373 
0374 Platforms also tested but giving rise to some problems - see below:
0375 
0376   o DEC V4.0, cxx C++ V6.1-027.
0377 
0378 Platforms configured but not tested and not supported:
0379   o SGI V6.5.5, CC 7.2.1 with ObjectSpace
0380   o AIX 4.3.2, xlC compiler with ObjectSpace
0381 
0382 
0383 2. ANAPHE and CLHEP
0384 -------------------
0385 
0386 Geant4 3.0 requires the installation of CLHEP. 
0387 
0388 See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
0389 Tests have been performed with CLHEP 1.6.0.0.
0390 
0391 By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
0392 if the compiler is capable. You need to explicitly disable CLHEP settings in
0393 case you wish non-ISO/ANSI setup on specific compilers (for example, DEC).
0394 
0395 Geant4 3.0 coworks with ANAPHE 3.2.0 and components included therein:
0396   Objectivity 5.2.1 
0397   ObjectSpace 2.1
0398   HepODBMS 0.3.1.4
0399   CLHEP 1.6.0.0
0400 
0401 For more information about ANAPHE see: http://cern.ch/anaphe
0402 
0403 
0404 3. The Standard Template Library
0405 --------------------------------
0406 
0407 The following versions of STL have been tested:
0408 
0409    ObjectSpace STL on
0410           DEC, HP and SUN (CC 4.2).
0411 
0412           See ObjectSpace (http://www.objectspace.com).
0413 
0414    "Native" STL on: Windows/NT, Linux, HP, DEC and SUN (CC 5.1).
0415 
0416 This is selected at installation/compile time by the environment variable
0417 G4USE_OSPACE in the case of the former - see documentation.
0418 
0419 NOTES:
0420 - Be aware that by default, the installation scripts will expect to use
0421   the native STL implementation. You must set the G4USE_OSPACE variable
0422   in the environment in order to select the ObjectSpace implementation.
0423 
0424 - Platform specific setup:
0425   o DEC:   ObjectSpace is required in non ISO/ANSI setup.
0426            Native STL is required for ISO/ANSI setup.
0427   o HP:    either ObjectSpace or native STL can be used (non ISO/ANSI setup).
0428   o SUN:   ObjectSpace is required in non ISO/ANSI setup (CC 4.2).
0429            Native STL is required for ISO/ANSI setup (CC 5.1 only).
0430   o Linux: Native STL is required (non ISO/ANSI setup).
0431   o NT:    Native STL and ISO/ANSI setup required.
0432 
0433 In the interest of stability, part of the code in Geant4 3.0 still makes use
0434 of the "STL Interface" wrapper classes, used for allowing the migration from
0435 Rogue Wave Tools.h++ container library.  For these the emphasis has remained
0436 on correct behaviour, rather than performance.
0437 
0438 
0439 4. Persistency
0440 --------------
0441 
0442  Platform
0443  --------
0444 
0445  Persistency in Geant4 3.0 release is tested on the following
0446  platforms:
0447 
0448  G4SYSTEM       OS        C++ compiler   HepODBMS    Objectivity
0449  ---------  -----------   ------------   ---------   -----------
0450  SUN-CC     SunOS 5.6     CC 4.2         0.3.1.4     5.2.1
0451  SUN-CC5    SunOS 5.7     CC 6.0         0.3.2.3 (*) 6.0 (*)
0452  Linux-g++  RedHat 6.1    egcs-2.91.66   0.3.1.4     5.2.1
0453 
0454  (*) HepODBMS header files must be prepared with "ooddlx -noline" option.
0455      See below.
0456 
0457  Known Problems
0458  --------------
0459 
0460  - There are several warning messages on some platforms during the
0461    installation of the libraries and the compilation of the examples.
0462    Most of them can be safely ignored.  It is annoying but hard to get
0463    rid of them due to various reasons.
0464 
0465  - A warning message "Could not find naming root directory" appears at
0466    runtime of the persistency examples. It is generaged by HepDbApplication
0467    in HepODBMS. It can be ignored.
0468 
0469  - On Solaris7 (SUN-CC5), persistent header files has to be generated by
0470    ooddlx with "-noline" option to work around a bug in C++ compiler.
0471    This workaround applies not only to Geant4 Persistency category but
0472    also to HepODBMS, and the user defined ddl files as well.  This option
0473    removes the "#line" directive of the file name and the line number of
0474    the original ddl file.  As a consequences, C++ compiler no longer
0475    "tell" the correct file name and the line number of the ddl file if
0476    compiler error occurs.  Try to identify the compiler error by first
0477    looking into the header file generated by ooddlx, and then locate the
0478    source of the problem by looking into the ddl file.
0479    A patch to the compiler is expected from Sun.
0480    
0481 
0482 5. Compiler Specific Problems
0483 -----------------------------
0484 
0485   o DEC V4.0, cxx C++ V6.1-027.
0486 
0487     - We have found cases of mis-compilation of min and max templates
0488       on DEC.  We have traced those which cause serious malfunction
0489       but there is no guarantee that there are no other cases.
0490       Detailed inspection of assembler output suggests that this
0491       problem might not be confined to min and max.  This has been
0492       reported to DEC/Compaq.  We understand a new version 6.2 of the
0493       compiler is now available.  However we cannot guarantee correct
0494       execution of Geant4 on DEC with the current version of the
0495       compiler.
0496     - A bug in cin.getline() system function causes an anomalous
0497       behavior when running in interactive-mode on DEC-cxx 6.1 in
0498       ISO/ANSI mode. We tested the bug has been fixed in more recent
0499       versions of the compiler.
0500 
0501 
0502 6. Known Run-Time Problems and Limitations
0503 ------------------------------------------
0504 
0505 For a complete list of outstanding run-time problems and to submit any
0506 problem you may find running this version of Geant4, please refer to the
0507 Geant4 Problem Reporting System, available on the Web at this address:
0508 
0509     http://cern.ch/geant4/problemreport
0510 
0511 
0512 7. Compilation Warnings
0513 -----------------------
0514 
0515 There are compilation warnings on some platforms.  We do not believe
0516 that any will lead to incorrect run-time behaviour, but we are working
0517 on reducing them.
0518 
0519 
0520 8. Known Run-Time Warnings
0521 --------------------------
0522 
0523 The following messages can be written to error output while tracking.  We
0524 believe none give rise to incorrect behaviour.
0525 
0526   o G4PropagateInField: Warning: Particle is looping 
0527     -  tracking in field will be stopped. 
0528        It has performed 10000 steps in Field  while a maximum of 10000
0529        are allowed.