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. |
---|