source: trunk/ReleaseNotes/Patch4.9.2-2.txt @ 1341

Last change on this file since 1341 was 1337, checked in by garnier, 14 years ago

tag geant4.9.4 beta 1 + modifs locales

File size: 12.0 KB
Line 
1
2                 Geant4 9.2 - patch-02 Release Notes
3                 -----------------------------------
4
5                                                            28 August 2009
6
7List of fixes included in this public patch since the public release 9.2.p01:
8
9  o Configuration:
10    -------------
11    + Configure script:
12      o Rewritten check on make/gmake on WIN32-VC systems to avoid problems
13        with cygwin and Matlab.
14      o Added check to build Qt driver only when Qt UI module is built;
15        reordered moc checks and added cross-check on moc version.
16        Added safety reset of OpenGL QT build and use variables.
17      o Commented out echo compatibility warning.
18        Addresses problem report #1067.
19    + Corrections in analysis.gmk for AIDA setup on Windows.
20    + Improved non-standard setup for Qt on Linux, Mac and Windows.
21    + Removed "-lcxa -lunwind" LOADLIBS addition in Linux-icc.gmk,
22      no longer necessary since icc version 11.0.083.
23    + Added -arch_multiple option to LDFLAGS in Darwin-g++.gmk to force more
24      diagnostics for wrong architecture errors at link stage.
25    + binmake.gmk: moved definition of TARGOBJEXT to place not dependent
26      on G4EXLIB, such that the extension is defined when no lib is present
27      (change required for upgrading exercisers in testing).
28
29  o Digits_Hits:
30    -----------
31    + Replaced usage of non-Standard calls to sprintf() with ostringstream,
32      to fix compilation errors reported by gcc-4.4.0 compiler.
33
34  o Environments:
35    ------------
36    + G4Py: updated configuration scripts and some minor fixes.
37
38  o Event:
39    -----
40    + Minor changes to G4GeneralParticleSourceMessenger to now use full range
41      of predefined units for length, energy and angle.
42    + Fixed gcc-4.4.0 compilation warning message for non-initialised variable
43      in G4SPSEneDistribution.
44
45  o Geometry:
46    --------
47    + magnetic_field:
48      o Minor enhancement in G4ChordFinder::ApproxCurvePointS() in order to
49        speedup Brent locator.
50      o Added 3rd term of BMT equation (Spin x Beta x Efield) to
51        G4EqEMFieldWithSpin, as reported in the Emfield Hypernews Forum
52        posting #155.
53      o Moved renormalization of spin from G4EqEMFieldWithSpin and
54        G4Mag_SpinEqRhs to G4ClassicalRK4 and G4SimpleHeum.
55      o Added Spin propagation errors to the criteria for 'OneGoodStep' in
56        G4MagIntegratorDriver; not added it yet to the decision logic.
57      o Some code cleanup and formatting.
58    + management:
59      o Added explicit initialisation of min/max extent in method
60        BuildReplicaVoxels() in G4SmartVoxelHeader.
61      o Adopt 'const' references for strings as arguments/return-values in
62        G4LogicalSurface. Some minor cleanup...
63    + navigation:
64      o Fix in G4Navigator::ComputeStep() for the computation of rotation of
65        the 'LocalExitNormal' in cases when DistanceToOut() returns non-valid
66        normal for optical photons in rotated solids.
67        Addresses problem report #1059.
68      o Fix in G4PathFinder: a geometry is at a boundary if its step is within
69        tolerance of the minimum step for any defined geometry.
70      o Enhancement to the 'FB_intersects' algorithm in order to speedup Brent
71        locator.
72      o Fix in the usage of the geometrical tolerance in G4VIntersectionLocator
73        in method AdjustementOfFoundIntersection().
74      o Fix in G4PropagatorInField::SetNavigator() to forward new navigator to
75        G4VIntersectionLocator.
76      o Added method BuildContainerSolid() taking a solid as argument to
77        G4PhantomParameterisation and added protection to GetMaterialIndex()
78        for zero index.
79    + solids/CSG:
80      o Introduced to DistanceToIn(p,v) splitting of the distance for point
81        very far from intersection area and big difference between solid
82        dimensions and distance to it; resolves issue observed on 64 bits
83        systems. Affected solids: G4Tubs, G4Cons, G4Sphere, G4Orb.
84        Addresses problem report #1022.
85    + solids/specific:
86      o G4Ellipsoid:
87        - Fixes in Inside(p) and in DistanceToIn(p,v) for points
88          located on the curved surface within tolerance. Final fix for issue
89          reported in problem report #1050 and concerning warnings reported by
90          grid_test.
91        - Introduced to DistanceToIn(p,v) splitting of the distance for
92          point very far from intersection area and big difference between
93          solid dimensions and distance to it; resolves issue observed on
94          64 bits problem. Also addressing problem report #1022.
95        - Fix to DistanceToIn(p,v) in the calculation of the roots of
96          the quadratic equation and in DistanceToOut(p,v) in the calculation
97          of the normal on cut surfaces. Final fix for problem report #1022.
98        - Adopt pre-computed half-tolerance values for optimisation.
99      o G4PolyconeSide: added protection in method Normal().
100        Addressing problem report #1073.
101      o Corrected typo in base implementation of GetSurfaceArea() in
102        G4VCSGfaceted, which was erroneously returning cubic volume estimation.
103        Addresses problem report #1062.
104      o Relaxed error in G4TessellatedSolid::Inside(p) to warning,
105        for excess of max trials and anomalous conditions in distance
106        calculation. Added more printout information when error condition is
107        detected.
108    + volumes:
109      o Get rid of unnecessary call to Reset() in G4NavigationHistory
110        destructor.
111      o Some code formatting.
112
113  o Global:
114    ------
115    + Some improvements to G4String and G4SubString implementation of
116      operators and comparison stub functions, to reduce generation of
117      temporaries. Removed obsolete static hash(s) method in G4String.
118    + Changed date for patch-02 to release 9.2.
119
120  o Particles:
121    ---------
122    + Ascertain that the absolute of the argument to boost is <1.0
123      in G4MuonRadiativeDecayChannelWithSpin.
124
125  o Standard Electromagnetic Processes:
126    ----------------------------------
127    + Muons: added protection against numerical problem due to negative
128      value of transfered energy in G4MuPairProductionModel.
129
130  o Hadronic Processes:
131    ------------------
132    + cross_sections:
133      o G4IonsKoxCrossSection, G4IonsShenCrossSection, G4TripathiCrossSection,
134        G4TripathiLightCrossSection: added protections against numerical
135        exceptions. Added simple check that cross-section is positive and
136        removed not optimal control in G4TripathiLightIonCrossSection class.
137        Added default constructor and destructor to G4TripathiCrossSection.
138      o G4GGNuclNuclCrossSection: updated Glauber-Gribov cross section for ions.
139      o G4CrossSectionDataSetRegistry: fixes for better memory management.
140    + models/neutron_hp:
141      o Fixed bug in IC electron emissions for G4NeutronHPPhotonDist and
142        G4NeutronHPInelasticCompFS.
143    + models/parton_string:
144      o Fix in G4SPBaryon for anti-baryon: a diquark & quark was given instead
145        of anti-diquark & antiquark; note the reverse order, too.
146        Fixes problems with incident anti-baryons, e.g. anti-proton,
147        manifesting in problems with forming hadrons.
148      o Changed pt sampling in G4LundStringFragmentation to avoid near endless
149        loop; this should improve overall performance slightly.
150        Addresses problem report #1066. Affected G4VLongitudinalStringDecay,
151        where SampleQuarkPt() is implemented; added new optional argument of
152        max Pt to SampleQuarkPt().
153      o Modifications in G4GammaParticipants and G4QGSParticipants for
154        applying QGSC from zero energy.
155    + models/qmd:
156      o Fixed bug in gamma (mass zero) participants in G4QMDCollision.
157      o Changed object data member to pointer in G4QMDReaction.
158    + models/rpg:
159      o Removed global variables (pointers to static particle definitions) in
160        G4RPGInelastic and replaced with local array. Fixing issues of wrong
161        order for static initialization.
162    + processes:
163      o Fix to address problem report #1056: cross section data set now are
164        created dynamically in G4PhotoNuclearProcess, G4ElectronNuclearProcess
165        and G4PositronNuclearProcess.
166      o Moved inline constructor and destructors to source in class
167        G4PositronNuclearProcess.
168
169  o Generic Processes:
170    -----------------
171    + Cuts:
172      o Added missing implementation of GetParticleType() in
173        G4VRangeToEnergyConverter.
174      o Replaced usage of std::abs() with std::fabs() where appropriate.
175    + Optical:
176      o Fix in G4OpBoundaryProcess for complex index of refraction: resample
177        the reflectivity every time for DielectricMetal, and do not re-calculate
178        normal to facet; also fixed possible infinite loop by resetting iTE and
179        iTM inside GetReflectivity().
180      o Added exception for cases where invalid normal is returned;
181        following problem report #1060.
182
183  o Persistency:
184    -----------
185    + gdml:
186      o Defined missing copy constructor and operator=() to G4GDMLMatrix
187        internal class, to avoid cases of memory corruption when handling
188        matrices.
189      o Correction in materials and solids tags for allowing parsing of
190        definitions within the tag scope; possibility foreseen by the schema.
191      o Correction in G4GDMLWriteSolids::BooleanWrite() in order to handle
192        cases of nested displaced solids given to both operands in a Boolean
193        operation (ATLAS use case).
194      o Renamed flag for maximum number of transformations applied to a solid
195        and moved to G4GDMLWriteSolids base class.
196      o First virtual layer for custom writer classes; added empty default
197        constructor and virtual destructor to classes in new inheritance chain.
198      o Restricted usage of loops only for placement of volumes. Now correctly
199        handling most common use-case of multiple copies of the same
200        volume/solid through loop statement. Addressing problem report #1063.
201
202  o Physics Lists:
203    -------------
204    + Fix to address problem report #1056: all cross section data sets are
205      created dynamically and no longer member of the class.
206      Fix in G4HadronInelasticQBBC: cross sections are created dynamically
207      not by value, fission only instantiated for HP.
208    + Inline constructor and destructors are moved to source for classes:
209      G4VNeutronBuilder, G4VPiKBuilder, G4VProtonBuilder, G4WarnPLStatus.
210
211  o Visualization:
212    -------------
213    + HepRep: added inclusion of <cstdio> in DeflateOutputStreamBuffer
214      header to resolve compilation errors reported by gcc-4.4.0.
215
216  o Examples:
217    --------
218    + Removed unnecessary AIDA setup in GNUmakefiles wherever necessary.
219    + advanced/air_shower:
220      o Updated README file.
221    + advanced/nanobeam:
222      o Fixed compilation warnings on gcc-4.3 on SLC5.
223    + advanced/radiation_monitor:
224      o Added macros reproducing run results: new results with proton at
225        254MeV, 150 Mev and 50 Mev of energy; new macros with Kapton material.
226      o Changed limits of LENeutronInelastic for 0.1 GeV in
227        RadmonPhysicsNeutronBertini and RadmonPhysicsNeutronBinary classes.
228      o Fix for compilation error in RadmonTLabelledCollection.
229    + advanced/xray_fluorescence:
230      o Reviewed physics setup and analysis.
231    + extended/analysis/AnaEx01:
232      o Corrected GNUmakefile and some cleanup.
233    + extended/field/field04:
234      o Commented out timing on initial seed for reproducibility of results.
235    + extended/persistency/gdml/G01:
236      o Modified loop.gdml to restrict multiple placements within a loop.
237
238 ----------------------------------------------------------------------------
239
240                             Technical Notes
241                             ---------------
242
243  o  This is a cumulative patch and can be applied on top of relese 9.2
244     or 9.2.p01.
245  o  Technical notes distributed for release 9.2 are also applicable and
246     valid for this patch.
247
248The code and rebuilt binary libraries for release 9.2 are available
249through our "Download" Web page:
250   http://cern.ch/geant4/support/download.shtml
251
252Please refer to the Geant4 User Documentation:
253   http://cern.ch/geant4/support/userdocuments.shtml
254for further information about using Geant4.
Note: See TracBrowser for help on using the repository browser.