Warning, /geant4/CHANGELOG/Patch4.9.2-3.txt is written in an unsupported language. File is not indexed.
0001
0002 Geant4 9.2 - patch-03 Release Notes
0003 -----------------------------------
0004
0005 29 January 2010
0006
0007 List of fixes included in this public patch since the public release 9.2.p02:
0008
0009 o Configuration:
0010 -------------
0011 + binmake.gmk: removed extra space characters in definition of TARGOBJEXT,
0012 fixing issue with target for main() not being rebuilt according to
0013 dependencies change. Addressing problem report #1098.
0014 + Darwin-g++.gmk: added paths to $QTHOME/include and $QTHOME/lib to
0015 setup for Qt4 configuration.
0016 + Added G4OPTDEBUG option for hybrid optimized-debug build also to
0017 Darwin-g++ and WIN32-g++ configurations.
0018
0019 o Digits_Hits:
0020 -----------
0021 + Corrected counting of flux and current passing through curved surfaces
0022 (affecting cylinder and sphere surface scorers).
0023 + Added missing virtual keyword for qualification of CheckROVolume()
0024 and FindROTouchable() methods in G4VReadOutGeometry.
0025
0026 o Error_propagation:
0027 -----------------
0028 + Corrected usage of G4ThreeVector constructor in class
0029 G4ErrorMagFieldLimitProces.
0030
0031 o Event:
0032 -----
0033 + Minor changes to G4GeneralParticleSourceMessenger to now use full range
0034 of predefined units for length, energy and angle.
0035 + Fixed gcc-4.4.0 compilation warning message for non-initialised variable
0036 in G4SPSEneDistribution.
0037
0038 o Geometry:
0039 --------
0040 + magnetic_field:
0041 o Bug fix in G4EqEMFieldWithSpin, following report on Hypernews EM-field
0042 forum #161. Courtesy of Hiromi Iinuma (KEK).
0043 + management:
0044 o Fixed implementation of G4LogicalVolume::TotalVolumeEntities() to
0045 become invariant to call sequence.
0046 o Clear possible excess capacity in node vectors in G4SmartVoxelHeader
0047 BuildNodes() method. May reduce excess memory allocated in optimisation
0048 in large detector setups, with slight time increase in initialisation
0049 for geometry voxelisation.
0050 o G4VTouchable: moved inline vitual methods, constructor and destructor
0051 to source, to avoid problem of memory alignment in allocation of
0052 derived objects.
0053 + navigation:
0054 o Refinements in G4PropagatorInField:
0055 + Improved handling of repeated small steps at boundaries which are
0056 due to geometry imprecision, navigation optimisation, or the details
0057 of the algorithm used for tracking in field.
0058 Added new member 'fZeroStepThreshold', to enable tuning of this
0059 existing threshold for identifying tiny or zero steps.
0060 A new value for this threshold 'fZeroStepThreshold' is a large
0061 multiple (10^4) of 'kCarTolerance'. Addresses a problem of tracks
0062 stuck at boundaries of volumes reported by ATLAS.
0063 The condition for identifying a tiny step is changed in order to
0064 avoid misidentifying small proposed physical steps as problem tiny
0065 steps.
0066 + Changed parameters which determine the size of the next trial step.
0067 This is used only when trying to recover from consecutive tiny/zero
0068 steps. The default decrease factor is now 0.25 (from 0.1); when the
0069 step size is comparable to the value of 'fZeroStepThreshold' a
0070 different decrease factor is used. The value given to the decrease
0071 factor was changed to 0.35 (from 0.25).
0072 + Added new method RefreshIntersectionLocator() to update the state
0073 of helper class.
0074 + Improved printing of diagnostics.
0075 o G4VIntersectionLocator: fixed problem in ReEstimateEndPoint() for very
0076 small steps. Corrected constructor to ensure that it initialises all
0077 data members. Labelled methods in header to make noticable those that
0078 must change attributes at every step.
0079 + solids/CSG:
0080 o G4Cons: fix to DistanceToIn(p,v), added a check on the direction in
0081 case of point on surface. Fixes a problem of stuck tracks observed in
0082 CMS, due to wrong reply from the solid for points on the inner radius
0083 surface base with direction along the imaginary extension of the cone.
0084 o G4Torus: fix in SolveNumericJT() in order to take in account the
0085 difference in the value of theta for different intervals, [0:pi] or
0086 [-pi:0], and for SPhi in [0:twopi] or [-twopi:0]. Addresses problem
0087 report #1086.
0088 o G4Orb: moved debug warning in DistanceToIn(p,v) within G4CSGDEBUG flag.
0089 + solids/specific:
0090 o G4Ellipsoid: refined fix in DistanceToIn(p,v) for points located on the
0091 curved surface, and correct treatment of geometrical tolerance.
0092 Addresses problem report #1076.
0093 o Avoid redundant assignment of value to 3-vector in G4PolyconeSide and
0094 in G4TwistTubsSide.
0095 + volumes:
0096 o Fix in G4PVParameterised::CheckOverlaps() to not modify daughter volume
0097 transformation matrix for application to points in the daughter's frame.
0098 Adopt Inverse() instead of Invert() in call to G4AffineTransform.
0099 Addresses problem report #1078.
0100 o Added missing implementation for composing G4AssemblyVolume constructor.
0101 o Use G4Allocator for dynamic allocation of G4TouchableHistory objects.
0102 Should reduce the number of direct calls to malloc and memory
0103 fragmentation. Measured an average improvement of ~5% in CPU speed
0104 with same memory footprint. Moved inline constructors to source to
0105 avoid problems of memory alignment in allocation.
0106
0107 o Global:
0108 ------
0109 + Changed date for patch-03 to release 9.2.
0110
0111 o Standard Electromagnetic Processes:
0112 ----------------------------------
0113 + Utils:
0114 o G4ionEffectiveCharge: added protection to minimal kinetic energy.
0115 o G4EmCorrections: fixed computation of correction to ion stopping powers.
0116 o G4VEnergyLossProcess, G4VEmProcess: added protection against negative
0117 cross section; fixed problem in retrieving physics tables from file.
0118
0119 o Hadronic Processes:
0120 ------------------
0121 + cross_sections:
0122 o G4CrossSectionDataSetRegistry: more accurate deletion of cross-sections.
0123 o G4TripathiLightCrossSection: re-enabled low energy check code.
0124 + management:
0125 o G4HadronicProcessStore: added protection to Clean() method.
0126 + models/abrasion:
0127 o Fixed problems of negative sqrt() and made code more robust to
0128 potential loop problems.
0129 + models/CHIPS:
0130 o Fix in G4QElasticCrossSection for memory corruption caused by wrong
0131 setting of limit for the tabular initialization in method GetPTables().
0132 Courtesy of Z.Marshall (ATLAS).
0133 + models/coherent_elastic:
0134 o G4HadronElastic: use static pointer to G4VQCrossSection in order to
0135 guarantee unique version of CHIPS cross-section class. Removed printout
0136 in destructor.
0137 + models/management:
0138 o G4HadronicInteractionRegistry: more accurate deletion of models.
0139 + stopping:
0140 o G4PiMinusAbsorptionAtRest and G4KaonMinusAbsorptionAtRest: fixed
0141 usage of 3vector constructor.
0142
0143 o Generic Processes:
0144 -----------------
0145 + Cuts:
0146 o G4VRangeToEnergyConverter: modified implementation of method
0147 ConvertCutToKineticEnergy() to improve performance.
0148 Measured a factor 2 to 3 improvement in initialisation speed when
0149 building physics tables.
0150 Modified BuildRangeVector() where integration is perfomed in this
0151 method; extended for e+/e-. Changed 'TotBin' to be constant (i.e. same
0152 for all converters) and set to 100 (200 for previous versions).
0153 Added 'MaxEnergyCut' (10 GeV set in default). Added 'fRangeVectorStore'
0154 to ensure that range-vector is created only once for each material.
0155 Do not apply converter for neutron, anti-proton, and anti-neutron.
0156 o A new method ResetConverters() has been added to G4ProductionCutTable.
0157 This method allows to reduce the memory footprint by clearing temporary
0158 loss tables and range vectors used at initialization, if invoked when
0159 starting the first run of a session.
0160
0161 o Persistency:
0162 -----------
0163 + gdml:
0164 o Corrected handling of 'quantity' tag; added missing caching of
0165 evaluation.
0166
0167 o Examples:
0168 --------
0169 + extended/radioactivedecay/exrdm:
0170 o Fixed trivial compilation warning when compiled without G4ANALYSIS_USE.
0171
0172 ----------------------------------------------------------------------------
0173
0174 Technical Notes
0175 ---------------
0176
0177 o This is a cumulative patch and can be applied on top of release 9.2,
0178 9.2.p01 or 9.2.p02.
0179 o Technical notes distributed for release 9.2 are also applicable and
0180 valid for this patch.
0181
0182 The code and rebuilt binary libraries for release 9.2 are available
0183 through our "Download" Web page:
0184 http://cern.ch/geant4/support/download.shtml
0185
0186 Please refer to the Geant4 User Documentation:
0187 http://cern.ch/geant4/support/userdocuments.shtml
0188 for further information about using Geant4.