255 lines
12 KiB
Plaintext
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.
|