source: trunk/ReleaseNotes/Patch4.9.2-3.txt

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

tag geant4.9.4 beta 1 + modifs locales

File size: 8.9 KB
Line 
1
2                 Geant4 9.2 - patch-03 Release Notes
3                 -----------------------------------
4
5                                                            29 January 2010
6
7List 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
182The code and rebuilt binary libraries for release 9.2 are available
183through our "Download" Web page:
184   http://cern.ch/geant4/support/download.shtml
185
186Please refer to the Geant4 User Documentation:
187   http://cern.ch/geant4/support/userdocuments.shtml
188for further information about using Geant4.
Note: See TracBrowser for help on using the repository browser.