[1337] | 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. |
---|