189 lines
8.9 KiB
Plaintext
189 lines
8.9 KiB
Plaintext
|
|
Geant4 9.2 - patch-03 Release Notes
|
|
-----------------------------------
|
|
|
|
29 January 2010
|
|
|
|
List of fixes included in this public patch since the public release 9.2.p02:
|
|
|
|
o Configuration:
|
|
-------------
|
|
+ binmake.gmk: removed extra space characters in definition of TARGOBJEXT,
|
|
fixing issue with target for main() not being rebuilt according to
|
|
dependencies change. Addressing problem report #1098.
|
|
+ Darwin-g++.gmk: added paths to $QTHOME/include and $QTHOME/lib to
|
|
setup for Qt4 configuration.
|
|
+ Added G4OPTDEBUG option for hybrid optimized-debug build also to
|
|
Darwin-g++ and WIN32-g++ configurations.
|
|
|
|
o Digits_Hits:
|
|
-----------
|
|
+ Corrected counting of flux and current passing through curved surfaces
|
|
(affecting cylinder and sphere surface scorers).
|
|
+ Added missing virtual keyword for qualification of CheckROVolume()
|
|
and FindROTouchable() methods in G4VReadOutGeometry.
|
|
|
|
o Error_propagation:
|
|
-----------------
|
|
+ Corrected usage of G4ThreeVector constructor in class
|
|
G4ErrorMagFieldLimitProces.
|
|
|
|
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 Bug fix in G4EqEMFieldWithSpin, following report on Hypernews EM-field
|
|
forum #161. Courtesy of Hiromi Iinuma (KEK).
|
|
+ management:
|
|
o Fixed implementation of G4LogicalVolume::TotalVolumeEntities() to
|
|
become invariant to call sequence.
|
|
o Clear possible excess capacity in node vectors in G4SmartVoxelHeader
|
|
BuildNodes() method. May reduce excess memory allocated in optimisation
|
|
in large detector setups, with slight time increase in initialisation
|
|
for geometry voxelisation.
|
|
o G4VTouchable: moved inline vitual methods, constructor and destructor
|
|
to source, to avoid problem of memory alignment in allocation of
|
|
derived objects.
|
|
+ navigation:
|
|
o Refinements in G4PropagatorInField:
|
|
+ Improved handling of repeated small steps at boundaries which are
|
|
due to geometry imprecision, navigation optimisation, or the details
|
|
of the algorithm used for tracking in field.
|
|
Added new member 'fZeroStepThreshold', to enable tuning of this
|
|
existing threshold for identifying tiny or zero steps.
|
|
A new value for this threshold 'fZeroStepThreshold' is a large
|
|
multiple (10^4) of 'kCarTolerance'. Addresses a problem of tracks
|
|
stuck at boundaries of volumes reported by ATLAS.
|
|
The condition for identifying a tiny step is changed in order to
|
|
avoid misidentifying small proposed physical steps as problem tiny
|
|
steps.
|
|
+ Changed parameters which determine the size of the next trial step.
|
|
This is used only when trying to recover from consecutive tiny/zero
|
|
steps. The default decrease factor is now 0.25 (from 0.1); when the
|
|
step size is comparable to the value of 'fZeroStepThreshold' a
|
|
different decrease factor is used. The value given to the decrease
|
|
factor was changed to 0.35 (from 0.25).
|
|
+ Added new method RefreshIntersectionLocator() to update the state
|
|
of helper class.
|
|
+ Improved printing of diagnostics.
|
|
o G4VIntersectionLocator: fixed problem in ReEstimateEndPoint() for very
|
|
small steps. Corrected constructor to ensure that it initialises all
|
|
data members. Labelled methods in header to make noticable those that
|
|
must change attributes at every step.
|
|
+ solids/CSG:
|
|
o G4Cons: fix to DistanceToIn(p,v), added a check on the direction in
|
|
case of point on surface. Fixes a problem of stuck tracks observed in
|
|
CMS, due to wrong reply from the solid for points on the inner radius
|
|
surface base with direction along the imaginary extension of the cone.
|
|
o G4Torus: fix in SolveNumericJT() in order to take in account the
|
|
difference in the value of theta for different intervals, [0:pi] or
|
|
[-pi:0], and for SPhi in [0:twopi] or [-twopi:0]. Addresses problem
|
|
report #1086.
|
|
o G4Orb: moved debug warning in DistanceToIn(p,v) within G4CSGDEBUG flag.
|
|
+ solids/specific:
|
|
o G4Ellipsoid: refined fix in DistanceToIn(p,v) for points located on the
|
|
curved surface, and correct treatment of geometrical tolerance.
|
|
Addresses problem report #1076.
|
|
o Avoid redundant assignment of value to 3-vector in G4PolyconeSide and
|
|
in G4TwistTubsSide.
|
|
+ volumes:
|
|
o Fix in G4PVParameterised::CheckOverlaps() to not modify daughter volume
|
|
transformation matrix for application to points in the daughter's frame.
|
|
Adopt Inverse() instead of Invert() in call to G4AffineTransform.
|
|
Addresses problem report #1078.
|
|
o Added missing implementation for composing G4AssemblyVolume constructor.
|
|
o Use G4Allocator for dynamic allocation of G4TouchableHistory objects.
|
|
Should reduce the number of direct calls to malloc and memory
|
|
fragmentation. Measured an average improvement of ~5% in CPU speed
|
|
with same memory footprint. Moved inline constructors to source to
|
|
avoid problems of memory alignment in allocation.
|
|
|
|
o Global:
|
|
------
|
|
+ Changed date for patch-03 to release 9.2.
|
|
|
|
o Standard Electromagnetic Processes:
|
|
----------------------------------
|
|
+ Utils:
|
|
o G4ionEffectiveCharge: added protection to minimal kinetic energy.
|
|
o G4EmCorrections: fixed computation of correction to ion stopping powers.
|
|
o G4VEnergyLossProcess, G4VEmProcess: added protection against negative
|
|
cross section; fixed problem in retrieving physics tables from file.
|
|
|
|
o Hadronic Processes:
|
|
------------------
|
|
+ cross_sections:
|
|
o G4CrossSectionDataSetRegistry: more accurate deletion of cross-sections.
|
|
o G4TripathiLightCrossSection: re-enabled low energy check code.
|
|
+ management:
|
|
o G4HadronicProcessStore: added protection to Clean() method.
|
|
+ models/abrasion:
|
|
o Fixed problems of negative sqrt() and made code more robust to
|
|
potential loop problems.
|
|
+ models/CHIPS:
|
|
o Fix in G4QElasticCrossSection for memory corruption caused by wrong
|
|
setting of limit for the tabular initialization in method GetPTables().
|
|
Courtesy of Z.Marshall (ATLAS).
|
|
+ models/coherent_elastic:
|
|
o G4HadronElastic: use static pointer to G4VQCrossSection in order to
|
|
guarantee unique version of CHIPS cross-section class. Removed printout
|
|
in destructor.
|
|
+ models/management:
|
|
o G4HadronicInteractionRegistry: more accurate deletion of models.
|
|
+ stopping:
|
|
o G4PiMinusAbsorptionAtRest and G4KaonMinusAbsorptionAtRest: fixed
|
|
usage of 3vector constructor.
|
|
|
|
o Generic Processes:
|
|
-----------------
|
|
+ Cuts:
|
|
o G4VRangeToEnergyConverter: modified implementation of method
|
|
ConvertCutToKineticEnergy() to improve performance.
|
|
Measured a factor 2 to 3 improvement in initialisation speed when
|
|
building physics tables.
|
|
Modified BuildRangeVector() where integration is perfomed in this
|
|
method; extended for e+/e-. Changed 'TotBin' to be constant (i.e. same
|
|
for all converters) and set to 100 (200 for previous versions).
|
|
Added 'MaxEnergyCut' (10 GeV set in default). Added 'fRangeVectorStore'
|
|
to ensure that range-vector is created only once for each material.
|
|
Do not apply converter for neutron, anti-proton, and anti-neutron.
|
|
o A new method ResetConverters() has been added to G4ProductionCutTable.
|
|
This method allows to reduce the memory footprint by clearing temporary
|
|
loss tables and range vectors used at initialization, if invoked when
|
|
starting the first run of a session.
|
|
|
|
o Persistency:
|
|
-----------
|
|
+ gdml:
|
|
o Corrected handling of 'quantity' tag; added missing caching of
|
|
evaluation.
|
|
|
|
o Examples:
|
|
--------
|
|
+ extended/radioactivedecay/exrdm:
|
|
o Fixed trivial compilation warning when compiled without G4ANALYSIS_USE.
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
Technical Notes
|
|
---------------
|
|
|
|
o This is a cumulative patch and can be applied on top of release 9.2,
|
|
9.2.p01 or 9.2.p02.
|
|
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.
|