Files
geant4/ReleaseNotes/Patch4.9.2-2.txt
2016-06-09 16:15:05 +02:00

255 lines
12 KiB
Plaintext

Geant4 9.2 - patch-02 Release Notes
-----------------------------------
28 August 2009
List of fixes included in this public patch since the public release 9.2.p01:
o Configuration:
-------------
+ Configure script:
o Rewritten check on make/gmake on WIN32-VC systems to avoid problems
with cygwin and Matlab.
o Added check to build Qt driver only when Qt UI module is built;
reordered moc checks and added cross-check on moc version.
Added safety reset of OpenGL QT build and use variables.
o Commented out echo compatibility warning.
Addresses problem report #1067.
+ Corrections in analysis.gmk for AIDA setup on Windows.
+ Improved non-standard setup for Qt on Linux, Mac and Windows.
+ Removed "-lcxa -lunwind" LOADLIBS addition in Linux-icc.gmk,
no longer necessary since icc version 11.0.083.
+ Added -arch_multiple option to LDFLAGS in Darwin-g++.gmk to force more
diagnostics for wrong architecture errors at link stage.
+ binmake.gmk: moved definition of TARGOBJEXT to place not dependent
on G4EXLIB, such that the extension is defined when no lib is present
(change required for upgrading exercisers in testing).
o Digits_Hits:
-----------
+ Replaced usage of non-Standard calls to sprintf() with ostringstream,
to fix compilation errors reported by gcc-4.4.0 compiler.
o Environments:
------------
+ G4Py: updated configuration scripts and some minor fixes.
o Event:
-----
+ Minor changes to G4GeneralParticleSourceMessenger to now use full range
of predefined units for length, energy and angle.
+ Fixed gcc-4.4.0 compilation warning message for non-initialised variable
in G4SPSEneDistribution.
o Geometry:
--------
+ magnetic_field:
o Minor enhancement in G4ChordFinder::ApproxCurvePointS() in order to
speedup Brent locator.
o Added 3rd term of BMT equation (Spin x Beta x Efield) to
G4EqEMFieldWithSpin, as reported in the Emfield Hypernews Forum
posting #155.
o Moved renormalization of spin from G4EqEMFieldWithSpin and
G4Mag_SpinEqRhs to G4ClassicalRK4 and G4SimpleHeum.
o Added Spin propagation errors to the criteria for 'OneGoodStep' in
G4MagIntegratorDriver; not added it yet to the decision logic.
o Some code cleanup and formatting.
+ management:
o Added explicit initialisation of min/max extent in method
BuildReplicaVoxels() in G4SmartVoxelHeader.
o Adopt 'const' references for strings as arguments/return-values in
G4LogicalSurface. Some minor cleanup...
+ navigation:
o Fix in G4Navigator::ComputeStep() for the computation of rotation of
the 'LocalExitNormal' in cases when DistanceToOut() returns non-valid
normal for optical photons in rotated solids.
Addresses problem report #1059.
o Fix in G4PathFinder: a geometry is at a boundary if its step is within
tolerance of the minimum step for any defined geometry.
o Enhancement to the 'FB_intersects' algorithm in order to speedup Brent
locator.
o Fix in the usage of the geometrical tolerance in G4VIntersectionLocator
in method AdjustementOfFoundIntersection().
o Fix in G4PropagatorInField::SetNavigator() to forward new navigator to
G4VIntersectionLocator.
o Added method BuildContainerSolid() taking a solid as argument to
G4PhantomParameterisation and added protection to GetMaterialIndex()
for zero index.
+ solids/CSG:
o Introduced to DistanceToIn(p,v) splitting of the distance for point
very far from intersection area and big difference between solid
dimensions and distance to it; resolves issue observed on 64 bits
systems. Affected solids: G4Tubs, G4Cons, G4Sphere, G4Orb.
Addresses problem report #1022.
+ solids/specific:
o G4Ellipsoid:
- Fixes in Inside(p) and in DistanceToIn(p,v) for points
located on the curved surface within tolerance. Final fix for issue
reported in problem report #1050 and concerning warnings reported by
grid_test.
- Introduced to DistanceToIn(p,v) splitting of the distance for
point very far from intersection area and big difference between
solid dimensions and distance to it; resolves issue observed on
64 bits problem. Also addressing problem report #1022.
- Fix to DistanceToIn(p,v) in the calculation of the roots of
the quadratic equation and in DistanceToOut(p,v) in the calculation
of the normal on cut surfaces. Final fix for problem report #1022.
- Adopt pre-computed half-tolerance values for optimisation.
o G4PolyconeSide: added protection in method Normal().
Addressing problem report #1073.
o Corrected typo in base implementation of GetSurfaceArea() in
G4VCSGfaceted, which was erroneously returning cubic volume estimation.
Addresses problem report #1062.
o Relaxed error in G4TessellatedSolid::Inside(p) to warning,
for excess of max trials and anomalous conditions in distance
calculation. Added more printout information when error condition is
detected.
+ volumes:
o Get rid of unnecessary call to Reset() in G4NavigationHistory
destructor.
o Some code formatting.
o Global:
------
+ Some improvements to G4String and G4SubString implementation of
operators and comparison stub functions, to reduce generation of
temporaries. Removed obsolete static hash(s) method in G4String.
+ Changed date for patch-02 to release 9.2.
o Particles:
---------
+ Ascertain that the absolute of the argument to boost is <1.0
in G4MuonRadiativeDecayChannelWithSpin.
o Standard Electromagnetic Processes:
----------------------------------
+ Muons: added protection against numerical problem due to negative
value of transfered energy in G4MuPairProductionModel.
o Hadronic Processes:
------------------
+ cross_sections:
o G4IonsKoxCrossSection, G4IonsShenCrossSection, G4TripathiCrossSection,
G4TripathiLightCrossSection: added protections against numerical
exceptions. Added simple check that cross-section is positive and
removed not optimal control in G4TripathiLightIonCrossSection class.
Added default constructor and destructor to G4TripathiCrossSection.
o G4GGNuclNuclCrossSection: updated Glauber-Gribov cross section for ions.
o G4CrossSectionDataSetRegistry: fixes for better memory management.
+ models/neutron_hp:
o Fixed bug in IC electron emissions for G4NeutronHPPhotonDist and
G4NeutronHPInelasticCompFS.
+ models/parton_string:
o Fix in G4SPBaryon for anti-baryon: a diquark & quark was given instead
of anti-diquark & antiquark; note the reverse order, too.
Fixes problems with incident anti-baryons, e.g. anti-proton,
manifesting in problems with forming hadrons.
o Changed pt sampling in G4LundStringFragmentation to avoid near endless
loop; this should improve overall performance slightly.
Addresses problem report #1066. Affected G4VLongitudinalStringDecay,
where SampleQuarkPt() is implemented; added new optional argument of
max Pt to SampleQuarkPt().
o Modifications in G4GammaParticipants and G4QGSParticipants for
applying QGSC from zero energy.
+ models/qmd:
o Fixed bug in gamma (mass zero) participants in G4QMDCollision.
o Changed object data member to pointer in G4QMDReaction.
+ models/rpg:
o Removed global variables (pointers to static particle definitions) in
G4RPGInelastic and replaced with local array. Fixing issues of wrong
order for static initialization.
+ processes:
o Fix to address problem report #1056: cross section data set now are
created dynamically in G4PhotoNuclearProcess, G4ElectronNuclearProcess
and G4PositronNuclearProcess.
o Moved inline constructor and destructors to source in class
G4PositronNuclearProcess.
o Generic Processes:
-----------------
+ Cuts:
o Added missing implementation of GetParticleType() in
G4VRangeToEnergyConverter.
o Replaced usage of std::abs() with std::fabs() where appropriate.
+ Optical:
o Fix in G4OpBoundaryProcess for complex index of refraction: resample
the reflectivity every time for DielectricMetal, and do not re-calculate
normal to facet; also fixed possible infinite loop by resetting iTE and
iTM inside GetReflectivity().
o Added exception for cases where invalid normal is returned;
following problem report #1060.
o Persistency:
-----------
+ gdml:
o Defined missing copy constructor and operator=() to G4GDMLMatrix
internal class, to avoid cases of memory corruption when handling
matrices.
o Correction in materials and solids tags for allowing parsing of
definitions within the tag scope; possibility foreseen by the schema.
o Correction in G4GDMLWriteSolids::BooleanWrite() in order to handle
cases of nested displaced solids given to both operands in a Boolean
operation (ATLAS use case).
o Renamed flag for maximum number of transformations applied to a solid
and moved to G4GDMLWriteSolids base class.
o First virtual layer for custom writer classes; added empty default
constructor and virtual destructor to classes in new inheritance chain.
o Restricted usage of loops only for placement of volumes. Now correctly
handling most common use-case of multiple copies of the same
volume/solid through loop statement. Addressing problem report #1063.
o Physics Lists:
-------------
+ Fix to address problem report #1056: all cross section data sets are
created dynamically and no longer member of the class.
Fix in G4HadronInelasticQBBC: cross sections are created dynamically
not by value, fission only instantiated for HP.
+ Inline constructor and destructors are moved to source for classes:
G4VNeutronBuilder, G4VPiKBuilder, G4VProtonBuilder, G4WarnPLStatus.
o Visualization:
-------------
+ HepRep: added inclusion of <cstdio> in DeflateOutputStreamBuffer
header to resolve compilation errors reported by gcc-4.4.0.
o Examples:
--------
+ Removed unnecessary AIDA setup in GNUmakefiles wherever necessary.
+ advanced/air_shower:
o Updated README file.
+ advanced/nanobeam:
o Fixed compilation warnings on gcc-4.3 on SLC5.
+ advanced/radiation_monitor:
o Added macros reproducing run results: new results with proton at
254MeV, 150 Mev and 50 Mev of energy; new macros with Kapton material.
o Changed limits of LENeutronInelastic for 0.1 GeV in
RadmonPhysicsNeutronBertini and RadmonPhysicsNeutronBinary classes.
o Fix for compilation error in RadmonTLabelledCollection.
+ advanced/xray_fluorescence:
o Reviewed physics setup and analysis.
+ extended/analysis/AnaEx01:
o Corrected GNUmakefile and some cleanup.
+ extended/field/field04:
o Commented out timing on initial seed for reproducibility of results.
+ extended/persistency/gdml/G01:
o Modified loop.gdml to restrict multiple placements within a loop.
----------------------------------------------------------------------------
Technical Notes
---------------
o This is a cumulative patch and can be applied on top of relese 9.2
or 9.2.p01.
o Technical notes distributed for release 9.2 are also applicable and
valid for this patch.
The code and rebuilt binary libraries for release 9.2 are available
through our "Download" Web page:
http://cern.ch/geant4/support/download.shtml
Please refer to the Geant4 User Documentation:
http://cern.ch/geant4/support/userdocuments.shtml
for further information about using Geant4.