| 1 |
|
|---|
| 2 | Geant4 9.2 - patch-03 Release Notes
|
|---|
| 3 | -----------------------------------
|
|---|
| 4 |
|
|---|
| 5 | 29 January 2010
|
|---|
| 6 |
|
|---|
| 7 | List of fixes included in this public patch since the public release 9.2.p02:
|
|---|
| 8 |
|
|---|
| 9 | o Configuration:
|
|---|
| 10 | -------------
|
|---|
| 11 | + binmake.gmk: removed extra space characters in definition of TARGOBJEXT,
|
|---|
| 12 | fixing issue with target for main() not being rebuilt according to
|
|---|
| 13 | dependencies change. Addressing problem report #1098.
|
|---|
| 14 | + Darwin-g++.gmk: added paths to $QTHOME/include and $QTHOME/lib to
|
|---|
| 15 | setup for Qt4 configuration.
|
|---|
| 16 | + Added G4OPTDEBUG option for hybrid optimized-debug build also to
|
|---|
| 17 | Darwin-g++ and WIN32-g++ configurations.
|
|---|
| 18 |
|
|---|
| 19 | o Digits_Hits:
|
|---|
| 20 | -----------
|
|---|
| 21 | + Corrected counting of flux and current passing through curved surfaces
|
|---|
| 22 | (affecting cylinder and sphere surface scorers).
|
|---|
| 23 | + Added missing virtual keyword for qualification of CheckROVolume()
|
|---|
| 24 | and FindROTouchable() methods in G4VReadOutGeometry.
|
|---|
| 25 |
|
|---|
| 26 | o Error_propagation:
|
|---|
| 27 | -----------------
|
|---|
| 28 | + Corrected usage of G4ThreeVector constructor in class
|
|---|
| 29 | G4ErrorMagFieldLimitProces.
|
|---|
| 30 |
|
|---|
| 31 | o Event:
|
|---|
| 32 | -----
|
|---|
| 33 | + Minor changes to G4GeneralParticleSourceMessenger to now use full range
|
|---|
| 34 | of predefined units for length, energy and angle.
|
|---|
| 35 | + Fixed gcc-4.4.0 compilation warning message for non-initialised variable
|
|---|
| 36 | in G4SPSEneDistribution.
|
|---|
| 37 |
|
|---|
| 38 | o Geometry:
|
|---|
| 39 | --------
|
|---|
| 40 | + magnetic_field:
|
|---|
| 41 | o Bug fix in G4EqEMFieldWithSpin, following report on Hypernews EM-field
|
|---|
| 42 | forum #161. Courtesy of Hiromi Iinuma (KEK).
|
|---|
| 43 | + management:
|
|---|
| 44 | o Fixed implementation of G4LogicalVolume::TotalVolumeEntities() to
|
|---|
| 45 | become invariant to call sequence.
|
|---|
| 46 | o Clear possible excess capacity in node vectors in G4SmartVoxelHeader
|
|---|
| 47 | BuildNodes() method. May reduce excess memory allocated in optimisation
|
|---|
| 48 | in large detector setups, with slight time increase in initialisation
|
|---|
| 49 | for geometry voxelisation.
|
|---|
| 50 | o G4VTouchable: moved inline vitual methods, constructor and destructor
|
|---|
| 51 | to source, to avoid problem of memory alignment in allocation of
|
|---|
| 52 | derived objects.
|
|---|
| 53 | + navigation:
|
|---|
| 54 | o Refinements in G4PropagatorInField:
|
|---|
| 55 | + Improved handling of repeated small steps at boundaries which are
|
|---|
| 56 | due to geometry imprecision, navigation optimisation, or the details
|
|---|
| 57 | of the algorithm used for tracking in field.
|
|---|
| 58 | Added new member 'fZeroStepThreshold', to enable tuning of this
|
|---|
| 59 | existing threshold for identifying tiny or zero steps.
|
|---|
| 60 | A new value for this threshold 'fZeroStepThreshold' is a large
|
|---|
| 61 | multiple (10^4) of 'kCarTolerance'. Addresses a problem of tracks
|
|---|
| 62 | stuck at boundaries of volumes reported by ATLAS.
|
|---|
| 63 | The condition for identifying a tiny step is changed in order to
|
|---|
| 64 | avoid misidentifying small proposed physical steps as problem tiny
|
|---|
| 65 | steps.
|
|---|
| 66 | + Changed parameters which determine the size of the next trial step.
|
|---|
| 67 | This is used only when trying to recover from consecutive tiny/zero
|
|---|
| 68 | steps. The default decrease factor is now 0.25 (from 0.1); when the
|
|---|
| 69 | step size is comparable to the value of 'fZeroStepThreshold' a
|
|---|
| 70 | different decrease factor is used. The value given to the decrease
|
|---|
| 71 | factor was changed to 0.35 (from 0.25).
|
|---|
| 72 | + Added new method RefreshIntersectionLocator() to update the state
|
|---|
| 73 | of helper class.
|
|---|
| 74 | + Improved printing of diagnostics.
|
|---|
| 75 | o G4VIntersectionLocator: fixed problem in ReEstimateEndPoint() for very
|
|---|
| 76 | small steps. Corrected constructor to ensure that it initialises all
|
|---|
| 77 | data members. Labelled methods in header to make noticable those that
|
|---|
| 78 | must change attributes at every step.
|
|---|
| 79 | + solids/CSG:
|
|---|
| 80 | o G4Cons: fix to DistanceToIn(p,v), added a check on the direction in
|
|---|
| 81 | case of point on surface. Fixes a problem of stuck tracks observed in
|
|---|
| 82 | CMS, due to wrong reply from the solid for points on the inner radius
|
|---|
| 83 | surface base with direction along the imaginary extension of the cone.
|
|---|
| 84 | o G4Torus: fix in SolveNumericJT() in order to take in account the
|
|---|
| 85 | difference in the value of theta for different intervals, [0:pi] or
|
|---|
| 86 | [-pi:0], and for SPhi in [0:twopi] or [-twopi:0]. Addresses problem
|
|---|
| 87 | report #1086.
|
|---|
| 88 | o G4Orb: moved debug warning in DistanceToIn(p,v) within G4CSGDEBUG flag.
|
|---|
| 89 | + solids/specific:
|
|---|
| 90 | o G4Ellipsoid: refined fix in DistanceToIn(p,v) for points located on the
|
|---|
| 91 | curved surface, and correct treatment of geometrical tolerance.
|
|---|
| 92 | Addresses problem report #1076.
|
|---|
| 93 | o Avoid redundant assignment of value to 3-vector in G4PolyconeSide and
|
|---|
| 94 | in G4TwistTubsSide.
|
|---|
| 95 | + volumes:
|
|---|
| 96 | o Fix in G4PVParameterised::CheckOverlaps() to not modify daughter volume
|
|---|
| 97 | transformation matrix for application to points in the daughter's frame.
|
|---|
| 98 | Adopt Inverse() instead of Invert() in call to G4AffineTransform.
|
|---|
| 99 | Addresses problem report #1078.
|
|---|
| 100 | o Added missing implementation for composing G4AssemblyVolume constructor.
|
|---|
| 101 | o Use G4Allocator for dynamic allocation of G4TouchableHistory objects.
|
|---|
| 102 | Should reduce the number of direct calls to malloc and memory
|
|---|
| 103 | fragmentation. Measured an average improvement of ~5% in CPU speed
|
|---|
| 104 | with same memory footprint. Moved inline constructors to source to
|
|---|
| 105 | avoid problems of memory alignment in allocation.
|
|---|
| 106 |
|
|---|
| 107 | o Global:
|
|---|
| 108 | ------
|
|---|
| 109 | + Changed date for patch-03 to release 9.2.
|
|---|
| 110 |
|
|---|
| 111 | o Standard Electromagnetic Processes:
|
|---|
| 112 | ----------------------------------
|
|---|
| 113 | + Utils:
|
|---|
| 114 | o G4ionEffectiveCharge: added protection to minimal kinetic energy.
|
|---|
| 115 | o G4EmCorrections: fixed computation of correction to ion stopping powers.
|
|---|
| 116 | o G4VEnergyLossProcess, G4VEmProcess: added protection against negative
|
|---|
| 117 | cross section; fixed problem in retrieving physics tables from file.
|
|---|
| 118 |
|
|---|
| 119 | o Hadronic Processes:
|
|---|
| 120 | ------------------
|
|---|
| 121 | + cross_sections:
|
|---|
| 122 | o G4CrossSectionDataSetRegistry: more accurate deletion of cross-sections.
|
|---|
| 123 | o G4TripathiLightCrossSection: re-enabled low energy check code.
|
|---|
| 124 | + management:
|
|---|
| 125 | o G4HadronicProcessStore: added protection to Clean() method.
|
|---|
| 126 | + models/abrasion:
|
|---|
| 127 | o Fixed problems of negative sqrt() and made code more robust to
|
|---|
| 128 | potential loop problems.
|
|---|
| 129 | + models/CHIPS:
|
|---|
| 130 | o Fix in G4QElasticCrossSection for memory corruption caused by wrong
|
|---|
| 131 | setting of limit for the tabular initialization in method GetPTables().
|
|---|
| 132 | Courtesy of Z.Marshall (ATLAS).
|
|---|
| 133 | + models/coherent_elastic:
|
|---|
| 134 | o G4HadronElastic: use static pointer to G4VQCrossSection in order to
|
|---|
| 135 | guarantee unique version of CHIPS cross-section class. Removed printout
|
|---|
| 136 | in destructor.
|
|---|
| 137 | + models/management:
|
|---|
| 138 | o G4HadronicInteractionRegistry: more accurate deletion of models.
|
|---|
| 139 | + stopping:
|
|---|
| 140 | o G4PiMinusAbsorptionAtRest and G4KaonMinusAbsorptionAtRest: fixed
|
|---|
| 141 | usage of 3vector constructor.
|
|---|
| 142 |
|
|---|
| 143 | o Generic Processes:
|
|---|
| 144 | -----------------
|
|---|
| 145 | + Cuts:
|
|---|
| 146 | o G4VRangeToEnergyConverter: modified implementation of method
|
|---|
| 147 | ConvertCutToKineticEnergy() to improve performance.
|
|---|
| 148 | Measured a factor 2 to 3 improvement in initialisation speed when
|
|---|
| 149 | building physics tables.
|
|---|
| 150 | Modified BuildRangeVector() where integration is perfomed in this
|
|---|
| 151 | method; extended for e+/e-. Changed 'TotBin' to be constant (i.e. same
|
|---|
| 152 | for all converters) and set to 100 (200 for previous versions).
|
|---|
| 153 | Added 'MaxEnergyCut' (10 GeV set in default). Added 'fRangeVectorStore'
|
|---|
| 154 | to ensure that range-vector is created only once for each material.
|
|---|
| 155 | Do not apply converter for neutron, anti-proton, and anti-neutron.
|
|---|
| 156 | o A new method ResetConverters() has been added to G4ProductionCutTable.
|
|---|
| 157 | This method allows to reduce the memory footprint by clearing temporary
|
|---|
| 158 | loss tables and range vectors used at initialization, if invoked when
|
|---|
| 159 | starting the first run of a session.
|
|---|
| 160 |
|
|---|
| 161 | o Persistency:
|
|---|
| 162 | -----------
|
|---|
| 163 | + gdml:
|
|---|
| 164 | o Corrected handling of 'quantity' tag; added missing caching of
|
|---|
| 165 | evaluation.
|
|---|
| 166 |
|
|---|
| 167 | o Examples:
|
|---|
| 168 | --------
|
|---|
| 169 | + extended/radioactivedecay/exrdm:
|
|---|
| 170 | o Fixed trivial compilation warning when compiled without G4ANALYSIS_USE.
|
|---|
| 171 |
|
|---|
| 172 | ----------------------------------------------------------------------------
|
|---|
| 173 |
|
|---|
| 174 | Technical Notes
|
|---|
| 175 | ---------------
|
|---|
| 176 |
|
|---|
| 177 | o This is a cumulative patch and can be applied on top of release 9.2,
|
|---|
| 178 | 9.2.p01 or 9.2.p02.
|
|---|
| 179 | o Technical notes distributed for release 9.2 are also applicable and
|
|---|
| 180 | valid for this patch.
|
|---|
| 181 |
|
|---|
| 182 | The code and rebuilt binary libraries for release 9.2 are available
|
|---|
| 183 | through our "Download" Web page:
|
|---|
| 184 | http://cern.ch/geant4/support/download.shtml
|
|---|
| 185 |
|
|---|
| 186 | Please refer to the Geant4 User Documentation:
|
|---|
| 187 | http://cern.ch/geant4/support/userdocuments.shtml
|
|---|
| 188 | for further information about using Geant4.
|
|---|