|
| 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. |
0 commit comments