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