source: trunk/source/geometry/navigation/History @ 1228

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

update geant4.9.3 tag

File size: 40.7 KB
Line 
1$Id: History,v 1.138 2009/12/11 05:48:53 japost Exp $
2-------------------------------------------------------------------
3
4     =========================================================
5     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
6     =========================================================
7
8                      Category History file
9                      ---------------------
10This file should be used by G4 developers and category coordinators
11to briefly summarize all major modifications introduced in the code
12and keep track of all category-tags.
13It DOES NOT substitute the  CVS log-message one should put at every
14committal in the CVS repository !
15
16     ----------------------------------------------------------
17     * Reverse chronological order (last date on top), please *
18     ----------------------------------------------------------
19Dec 11th, 2009 - J.Apostolakis (geomnav-V09-02-11)
20------------------------------
21- G4PropagatorInField
22  * Implementation field by Region
23      - with extra checking of logical volume
24
25Nov 30th, 2009 - J.Apostolakis (geomnav-V09-02-10)
26------------------------------
27- G4VIntersectionLocator
28  * Fix problem in ReEstimateEndPoint() behaviour for very small steps.
29
30  * Corrected constructor to ensure that it initialises all data members.
31  * Labelled the methods (in header) to make noticable those that
32      must changed at every step.
33      ( attributes: ChordFinder,  EpsilonStep,  Navigator )
34
35Nov 23rd, 2009 - J.Apostolakis
36------------------------------
37- Fixed G4PropagatorInField.cc:
38   * Revise condition for flagging ZeroStep to avoid fake triggering.
39     Small proposed steps (from Physics) could trigger the previous
40     simple condition for Tiny/Zero Problem steps.
41   [ This was first commited on branch geomnav-V09-02-08_branch
42       and tagged geomnav-V09-02-80  ]
43
44Nov 12th, 2009 - J.Apostolakis (geomnav-V09-02-09)
45------------------------------
46- G4PropagatorInField: cleanup of minor methods:
47   Added new method RefreshIntersectionLocator to update the state of
48       Use this method to synchronise with IntersectionLocator.
49   Deleted long obsolete methods: SetAccuraciesWithDeltaOneStep
50           SetDeltaIntersection,  SetDeltaOneStep
51   Revised implementation to avoid using the older methods
52           GetDeltaIntersection   GetDeltaOneStep
53
54Nov 12th, 2009 - J.Apostolakis (geomnav-V09-02-08)
55------------------------------
56- Refined G4PropagatorInField.cc:
57   * Changed parameters for treating consecutive tiny/zero steps:
58     - the value of default decrease factor to 0.25 (from 0.1),
59     - the value is not used when the step size falls below a certain threshold.s
60       This threshold is changed. It is expressed as a multiple of fZeroStepThreshold
61       instead of kCarTolerance.  The reasons are:
62         * the threshold were meant to refer to the  ZeroStepThreshold (it was kCarTolerance)
63         * the values were now much larger than this ZeroStepThreshold.
64     - The value given to the decrease factor after the first such thresholds is changed to 0.35
65       instead of 0.25, 0.5. 
66   * Improved printing of Diagnostic message.
67
68Nov  3rd, 2009 - J.Apostolakis (geomnav-V09-02-07)
69------------------------------
70- Refined G4PropagatorInField.cc:
71   * Added new member fZeroStepThreshold, to enable tuning of threshold for Tiny/Zero steps.
72   * Changed default value from 0.5 * kCarTolerance
73                          to max (100,000 * kCarTolerance, 0.1 * micron )
74   * This is first revision to address problem seen at boundary of volumes (Reports of Atlas) .
75
76June 2nd, 2009 - J.Apostolakis (geomnav-V09-02-06)
77------------------------------
78- Fix in G4PropagatorInField::SetNavigator
79   * Forward new Navigator to IntersectionLocator.
80
81May 20th, 2009 - P.Arce (geomnav-V09-02-05)
82-----------------------
83- Added method BuildContainerSolid() taking a solid as argument to
84  G4PhantomParameterisation. Added protection to GetMaterialIndex()
85  for zero index.
86
87May 18th, 2009 - T.Nikitina (geomnav-V09-02-04)
88---------------------------
89- Enhanced algorithm for 'FB_intersects' in order to speedup BrentLocator.
90- Fix in the usage of the geometrical tolerance in G4VIntersectionLocator
91  in method AdjustementOfFoundIntersection().
92
93May 13th, 2009 - J.Apostolakis (geomnav-V09-02-03)
94------------------------------
95- Fix in G4PathFinder: A geometry is at a boundary if its step is within
96   tolerance of the minimum step for any geometry.
97
98May 5th, 2009 - T.Nikitina (geomnav-V09-02-02)
99--------------------------
100- Fix in G4Navigator::ComputeStep() for the computation of rotation of the
101  'LocalExitNormal' in cases when DistanceToOut() returns non-valid normal
102  for optical photons in rotated solids. Addresses problem report #1059.
103
104February 26th, 2009 - T.Nikitina (geomnav-V09-02-01)
105--------------------------------
106- Fixed problem in G4BrentLocator::EstimateIntersectionPoint() responsible
107  for rare cases of negative steps.
108
109January 27th, 2009 - G.Cosmo (geomnav-V09-02-00)
110----------------------------
111- Added G4RegularNavigationHelper class, used by G4RegularNavigation for
112  counting the number of step lengths in each voxel of the regular structure
113  (by P.Arce).
114- Some code cleanup...
115
116December 11th, 2008 - T.Nikitina (geomnav-V09-01-10)
117--------------------------------
118- Reinstated G4MultiLevelLocator as the default locator to allow for proper
119  tuning of parameters in propagation in field and avoid CPU penalty currently
120  induced by default parameters.
121- Corrected text in exceptions in locators classes.
122
123November 14th, 2008 - T.Nikitina, J.Apostolakis (geomnav-V09-01-09)
124-----------------------------------------------
125- Introduced first implementation of new optional method in locator classes
126  AdjustementOfFoundIntersection() using surface-normal of the intersecting
127  solid to boost accuracy. Added the optional call to the new method in each
128  concrete locator.
129- Removed unnecessary accessors for Brent locator in G4PropagatorInField.
130- G4VoxelNavigation: implemented additional check when running in "check"
131  mode; if it is on the surface, ensure that it can move on next step;
132  either DistanceToIn(p,v) or DistanceToOut(p,v) should return a finite
133  value greater than the tolerance.
134
135November 10th, 2008 - G.Cosmo (geomnav-V09-01-08)
136-----------------------------
137- G4PathFinder: cleared unecessary calls to ComputeSafety() in ReLocate().
138
139October 28th, 2008 - T.Nikitina (geomnav-V09-01-07)
140-------------------------------
141- Moved method LocateIntersectionPoint() in G4PropagatorInField to a separate
142  class G4VIntersectionLocator, now allowing to use different location
143  algorithms: Brent, MultiLevel, Simple.
144- New classes: G4VIntersectionLocator, G4SimpleLocator, G4BrentLocator and
145  G4MultiLevelLocator. 
146- Coworks with tag "field-V09-01-03".
147
148October 10th, 2008 - G.Cosmo (geomnav-V09-01-06)
149----------------------------
150- Introduced optional Boolean argument in G4Navigator::ComputeSafety() to
151  allow for computation of safety without modifying the state restoring of
152  the navigator.
153- Modified accordingly the following classes, for calls to ComputeSafety():
154  G4SafetyHelper, G4PathFinder (now calling ComputeSafety() with TRUE
155  argument to preserve navigator's state), G4MultiNavigator and
156  G4ErrorPropagationNavigator.
157
158May 5th, 2008 - T.Nikitina (geomnav-V09-01-05)
159--------------------------
160- Added Brent method for LocateIntersectionPoint() in G4PropagatorInField.
161  The Brent method is now used as default and can be switched off through
162  call to the proper accessor function SetBrentMethod().
163- Requires related update to G4ChordFinder in geometry/magneticfield module
164  included in tag "field-V09-01-02".
165
166April 29th, 2008 - M.Asai (geomnav-V09-01-04)
167-------------------------
168- G4PathFinder: commented out warning and exception in ComputeStep()
169  for step smaller than minimum threshold.
170
171April 28th, 2008 - G.Cosmo (geomnav-V09-01-03)
172--------------------------
173- Corrected condition for wrong evaluation order introduced in the
174  previous tag.
175
176March 13th, 2008 - G.Cosmo (geomnav-V09-01-02)
177--------------------------
178- Cleared compilation warnings in G4ReplicaNavigation on gcc-4.3.0 for
179  ambiguous use of parentheses in condition statements.
180
181January 24th, 2008 - T.Nikitina (geomnav-V09-01-01)
182-------------------------------
183- G4PropagatorInField: changed condition for 'ReEstimationEndPoint'
184  in order to better handle very strict parameters of propagation.
185  Also added more verbosity in case of error for negative step.
186  Fixes rare problem observed in production by ATLAS.
187
188January 22nd, 2008 - P.Arce (geomnav-V09-01-00)
189---------------------------
190- G4PhantomParameterisation:
191  o Bug fix in GetReplicaNo() to catch overflows in X and Y.
192    (on suggestion by S.Stute)
193  o Made CheckVoxelsFillContainer() visible in public interface.
194
195November 16th, 2007 - G.Cosmo (geomnav-V09-00-12)
196-----------------------------
197- Cleared compilation warnings for shadowing of variables in classes
198  within the module.
199
200November 14th, 2007 - G.Cosmo (geomnav-V09-00-11)
201-----------------------------
202- Reintroduced artificial push in G4ReplicaNavigation::ComputeStep().
203  Further investigation and eventually reimplementation of LevelLocate()
204  required to take into account point and direction ...
205
206November 14th, 2007 - G.Cosmo (geomnav-V09-00-10)
207-----------------------------
208- Trial to remove artificial push in G4ReplicaNavigation::ComputeStep().
209- Some minor cleanup.
210
211November 9th, 2007 - J.Apostolakis (geomnav-V09-00-09)
212----------------------------------
213- G4SafetyHelper: Improved ComputeSafety() not to call G4Navigator
214  if exactly on safety 'center'. 
215- G4PathFinder: correction to debug code under #ifdef G4DEBUG_NAVIGATION.
216
217November 9th, 2007 - G.Cosmo (geomnav-V09-00-08)
218----------------------------
219- Fix in G4ReplicaNavigation::DistanceToOut() for exact classification of
220  the linear step for Cartesian case.
221- Made IdentifyAndPlaceSolid() method inlined in G4ParameterisedNavigation.
222- Minor cosmetics and cleanup.
223
224November 6th, 2007 - P.Arce (geomnav-V09-00-07)
225---------------------------
226- Optimisation in G4RegularNavigation: use voxelBox->DistanceToOut() instead
227  of ComputeStep() in ComputeStepSkippingEqualMaterials().
228- Some cleanup and proper formatting of error/warning messages.
229
230November 2nd, 2007 - J.Apostolakis (geomnav-V09-00-06)
231----------------------------------
232- Merging fixes in "geomnav-V09-00-03b" and "geomnav-V09-00-03c" on top
233  of tag "geomnav-V09-00-05".
234
235November 2nd, 2007 - J.Apostolakis (geomnav-V09-00-03c)
236----------------------------------
237- G4PathFinder:
238  o Added setting of 'fNoGeometriesLimiting' in DoNextCurvedStep().
239  o Check to verify that 'fNoGeometriesLimiting' is set by DoNext*Step methods.
240  o Revised data type of 'fNoGeometriesLimiting' to be a int, so that < 0
241    shows 'unset'.
242- G4PropagatorInField:
243  o Fixes for compilation of code under G4DEBUG_FIELD (problem report #982).
244  o Added extra check of method LocateIntersectionPoint() arguments.
245- Tag based on "geomnav-V09-00-03b".
246
247October 29th, 2007 - J.Apostolakis (geomnav-V09-00-03b)
248----------------------------------
249- G4PathFinder: first fix for problem of another process shortening steps
250  (between calls to ComputeStep by different processes in same step.)
251  I.e.  First call to ComputeStep (geom 1) has proposed Step = 3.0 cm
252        Next  call to ComputeStep (geom 2) has proposed Step = 1.0 cm
253        (e.g. Multiple Scattering)
254- Tag based on "geomnav-V09-00-03a".
255
256October 24th, 2007 - J.Apostolakis (geomnav-V09-00-05)
257----------------------------------
258- Merging fixes introduced in "geomnav-V09-00-03a" on top of
259  "geomnav-V09-00-04".
260
261October 24th, 2007 - J.Apostolakis (geomnav-V09-00-03a)
262----------------------------------
263- G4PathFinder: fix to now set 'fNoGeometriesLimiting' in DoNextLinearStep()
264  when WhichLimited() is not called, i.e. in case of one navigator
265  optimisation.
266- Tag based on "geomnav-V09-00-03".
267
268October 18th, 2007 - G.Cosmo (geomnav-V09-00-04)
269----------------------------
270- Added new specific navigation for regular structures and phantoms.
271  New classes: G4RegularNavigation, G4PhantomParameterisation (by P.Arce).
272  Added cases to G4Navigator. Added dependency on "materials" module.
273
274October 12th, 2007 - J.Apostolakis (geomnav-V09-00-03)
275----------------------------------
276- G4PathFinder: added new methods GetNumberGeometriesLimitingStep()
277  and GetMinimumStep() needed by G4CoupledTransportation to see whether
278  to relocate.
279
280September 25th, 2007 - G.Cosmo (geomnav-V09-00-02)
281------------------------------
282- Some code cleanup in G4PathFinder. Switch off additional optimisation
283  for safety in method DoNextLinearStep().
284- Set 'fRecomputeFactor' in G4SafetyHelper to 0.0, to switch off internal
285  optimisation and allow for reproducibility of steps (A.Howard).
286
287July 12th, 2007 - J.Apostolakis (geomnav-V09-00-01)
288-------------------------------
289- Restores fixes/improvements of geomnav-V08-03-07
290- G4PathFinder: includes fix for result of ObtainSafety(), used in
291  CoupledTransportation.
292
293July 12th, 2007 - J.Apostolakis (geomnav-V09-00-00)
294-------------------------------
295- G4PathFinder:
296  o Include correction to signature of method PrepareNewTrack().
297    (This was done on a branch for this class in order to keep only
298     development of geomnav-V08-03-06)
299- G4PropagatorInField:
300  o Included revisions and fixes for G4PropagatorInField of June 8th.
301- This tag is based on "geomnav-V08-03-06" and does NOT include the
302  revisions of "geomnav-V08-03-07".
303
304July 5th, 2007 - G.Cosmo
305------------------------
306- G4PathFinder:
307  o Corrected signature to method PrepareNewTrack().
308    Resolves linking problems detected on SUN-CC platform.
309- Changes included in tag  "geomnav-V08-03-02c", included in relase 9.0.p01.
310
311June 8th, 2007 - T.Nikitina
312---------------------------
313- G4PropagatorInField:
314  o Put in the constructor creation of array of FieldTracks used in
315    LocateInterSectionPoint().
316  o Change in ReEstimateNewPoint() in order to handle cases with zero step
317    caused by diffCurve=0.
318  o In case of proposed step less than tolerance, now return 'kInfinity'
319    as per convention of geometry instead of 'DBL_MAX'.
320    (by J.Apostolakis, May 18th 2007)
321- Changes included in tag "geomnav-V08-03-02b", included in release 9.0.
322
323June 5th, 2007 - J.Apostolakis (geomnav-V08-03-07)
324------------------------------
325- G4PathFinder:
326  o New method to return the safety sphere last calculated for
327    a PreStep point (it could be a previous one - due to optimasation).
328    >> If last step(s) were smaller than safety, then for a linear
329    track (no field or no charge) Navigator's ComputeSafety is not
330    called.  The older PreStep (previous step or some steps back
331    in case of many small steps) is stored for this - and provided.
332  o ComputeStep() still returns current PreStep point's safety (must).
333  o Revisions are to make this (used by CoupledTransportation) more
334    compatible with the old direct use of G4Navigator by G4Transportation.
335
336May 29th, 2007 - J.Apostolakis (geomnav-V08-03-06)   
337------------------------------
338- G4Navigator
339  o Fixed **ComputeSafety**: wrong coordinates used (last tag only).
340    For certainty reinstated LocateGlobalPointWithinVolume (for now).
341  o Corrected calculation of fStepEndPoint (in ComputeStep)
342    for case of step not limited by geometry
343- G4PathFinder
344  o PrepareNewTrack: calls to re-initialise SafetyHelper (reset safety)
345  o ReLocate: Corrected check of move (avoid one side effect on stored safety)
346              --> ComputeSafety still results individual navigators' values.
347
348May 24th, 2007 - J.Apostolakis (geomnav-V08-03-05)
349------------------------------
350- G4PathFinder: 1 correction and 2 optimisations:
351  o PrepareNewTrack() clear safety - to avoid potential problems in overlaps.
352  o DoNextLinearStep() only calls ComputeStep() for a navigator whose safety
353    greater than the step.
354  o DoNextCurvedStep(), if there's one geometry, no longer calls
355    ComputeSafety() at start.
356- G4Navigator ComputeSafety:
357  o Corrected it to address use at non-endpoint
358  o Replaced call to LocateGlobalPointWithinVolume() with calls to
359    sub-navigators.
360
361May 21st, 2007 - G.Cosmo
362------------------------
363- Made 'fVerbose' protected in G4Navigator, reused in G4MultipleNavigator.
364- Some cleanup in G4MultipleNavigator implementation.
365- Make G4PathFinder singleton definition canonical.
366- Added method CheckPointExiting() in G4AuxiliaryNavServices utility
367  class (by P.Arce).
368
369May 19th, 2007 - J.Apostolakis (geomnav-V08-03-04)
370------------------------------
371- Corrections and additions in G4PathFinder:
372    1) Added calculation of start-point safety in DoNextCurvedStep
373    2) Corrected GetCurrentSafety() - uses mininum of 1)
374    3) Added method to obtain safety of one navigator (after call to all).
375    4) Deleted obsolete data member 'fMinSafety'.
376    5) If only one geometry, do not call WhichLimited in DoNextLinearStep (optimisation)
377    6) ComputeSafety: save the values of isotropic safety for each navigator
378
379May 18th, 2007 - A.Howard (geomnav-V08-03-03)
380------------------------
381- Fixed return value for G4PathFinder::ComputeStep in case of
382   step smaller than tolerance (now kInfinity): fixes one PathFinder issue (JA).
383- Added compiler flags for verbosity in G4PathFinder.cc
384- Added compiler flags for verbosity in G4MultiNavigator.cc
385
386May 18th, 2007 - G.Cosmo (geomnav-V08-03-02)
387------------------------
388- Use kAngTolerance and kRadTolerance from G4GeometryTolerance class.
389- Coworks with tag "global-V08-03-03".
390
391May 16th, 2007 - G.Cosmo (geomnav-V08-03-01)
392------------------------
393- Introduced new class G4ErrorPropagationNavigator, a specialised navigator
394  for performing double navigation in the detector geometry and on the
395  target surface for error propagation (by P.Arce).
396- Fixed bug in G4GeomTestSegment in case of TestPoint on the surface,
397  reducing cases of reported spurious overlaps.
398- Coworks with tag "global-V08-03-02".
399
400May 16th, 2007 - J.Apostolakis (geomnav-V08-03-00a)
401------------------------------
402- Moved to G4PathFinder version without extra prints
403
404April 26th, 2007 - G.Cosmo (geomnav-V08-03-00)
405--------------------------
406- Use call to G4GeometryTolerance instead of kCarTolerance where needed.
407- Revised data members in G4SafetyHelper to conform to convention.
408- Requires tag "global-V08-03-00" and related tag set.
409
410April 26th, 2007 - T.Nikitina (geomnav-V08-02-03)
411-----------------------------
412- Fixed case of out of range access in G4GeomTestSegment responsible for
413  crashes observed when recursive-grid test for overlaps was run.
414  Addressing problem report #784.
415
416April 20th, 2007 - G.Cosmo (geomnav-V08-02-02)
417--------------------------
418- Some cleanup and minor cosmetics ...
419
420April 12st, 2007 - V.Ivanchenko
421-------------------------------
422- G4SafetyHelper become a unique class, which can be accessed via
423  G4TransporationManager. Depending on type of navigation (single
424  world or multiple navigation) it uses mass navigator or G4PathFinder.
425  All calls from EM processes to geometry are provided by G4SafetyHelper.
426- G4TransportationManager: added G4SafetyHelper.
427- G4PathFinder: initialisation of G4SafetyHelper.
428- Tagged "geomnav-V08-02-02-beta2".
429
430March 31st, 2007 - J. Apostolakis
431---------------------------------
432- G4Navigator:
433  o New method CheckNextStep() makes a trial step, without
434    changing the state of the Navigator (to be verified).
435    It is a variant of ComputeStep, whose signature it shares.
436- Tagged "geomnav-V08-02-02-beta1".
437
438February 13th, 2007 - J.Apostolakis
439-----------------------------------
440- G4Navigator:
441  o Improvement for creating touchable history when located outside world.
442    Retain whether last point was located outside, and if so call default
443    TouchableHistory constructor (that initialised world to null).
444    NOTE: testing found problems with SteppingManager::SetInitialStep()
445          as the Vertex physical volume was not set. Protection is potentially
446          required, or bigger issue to be resolved.
447    Currently, changes in G4Navigator.hh,cc are safe, but the fix in .icc is
448    temporarly suspended and NOT included.
449- Attempted fix created Dec 7th, 2006
450
451February 13th, 2007 - J.Apostolakis (geomnav-V08-02-01)
452-----------------------------------
453- G4PropagatorInField:
454  o Implemented ClearPropagatorState() to clear all the track-dependent
455    state (incl. safety, zero-steps, loop flag ...).
456    ** Calling this is mandatory for each new track because in the case of
457       geometry overlaps, the safety can be easily inconsistent (and/or
458       incorrect) otherwise
459    ** Must be called from G4Transportation (or alternatives) !!
460- Fix created Jan 25th, 2007
461
462January 31st, 2007 - G.Cosmo (geomnav-V08-02-00)
463----------------------------
464- G4Navigator: forcing call to CheckOverlaps() on the current volume
465  before event abortion for cases of stuck tracks.
466- Requires tag "geommng-V08-02-00".
467
468November 23rd, 2006 - J.Apostolakis (geomnav-V08-01-08)
469-----------------------------------
470- G4PathFinder:
471  o Fix when report a problem only if move > safety (additional check).
472  o Revised condition for extra checking against safety.
473  o Many small and cosmetic changes in debug printing.
474
475November 18th, 2006 - J.Apostolakis (geomnav-V08-01-07)
476-----------------------------------
477- G4PathFinder:
478  o Fix for problem when step is fully taken.
479    Note: this occurs due to optimisation in PiF that avoids calling
480    G4(Multi)Navigator!!
481  o Function LimitedString( ELimited lim ) enables printing this enum
482  o Improved printing in IntersectChord. Deleted/simplified few prints in
483    ComputeStep().
484- G4MultiNavigator: cleanup, cosmetics
485
486November 13th, 2006 - G.Cosmo (geomnav-V08-01-06)
487-----------------------------
488- Fixed compilation warnings and some cleanup ...
489
490November 11th, 2006 - J.Apostolakis (geomnav-V08-01-05)
491-----------------------------------
492- G4PathFinder improvements for parallel Navigation
493  o ComputeStep method signature extended to add volume
494  o Use G4MultiNavigator for tracking in field.
495- G4MultiNavigator:
496  o Several fixes, primarily for taking care of condition of
497    geometry limited step.
498
499November 11th, 2006 - J.Apostolakis (geomnav-V08-01-04)
500-----------------------------------
501- G4PropagatorInField:
502  o Refined fix in LocateIntersectionPoint(), to subdivide
503    in case it cannot find intersection point quickly (T.Nikitina).
504    Second version, with several levels of cutting.
505  o NOTE: Special tags made (later) not including the Developments in
506    G4TransportationManager, G4PathFinder, G4SafetyHelper for parallel
507    navigation. i.e. - based on tag "geomnav-V08-01-03".
508
509November 11th, 2006 - J.Apostolakis
510-----------------------------------
511- Created G4MultiNavigator class and utilised it from G4PathFinder
512  to implement curved trajectory parallel navigation.
513
514November 10th, 2006 - J.Apostolakis (geomnav-V08-01-03)
515-----------------------------------
516- G4PropagatorInField:
517  o Fix in LocateIntersectionPoint(), to subdivide in case it cannot find
518    intersection point quickly (T.Nikitina).
519    First version, only one level of cutting
520  o NOTE: Special tags made (later) not including the Developments in
521    G4TransportationManager, G4PathFinder, G4SafetyHelper for parallel
522    navigation. i.e. - based on tag "geomnav-V08-01-02".
523
524November  9th, 2006 - J.Apostolakis
525-----------------------------------
526- G4SafetyHelper:
527  o Changed default value of 'fUseParallelGeometries' to 'false'.
528    This is the default, except when using parallel geometries.
529    Value 'true' will become the default.
530
531November 4th, 2006 - M.Asai
532---------------------------
533- G4TransportationManager:
534  o added new method SetWorldForTracking() to enable change of world from
535    the RunManager.
536
537October 31st, 2006 - J.Apostolakis
538----------------------------------
539- G4SafetyHelper
540  o Added new class variable 'fUseParallelGeometries', to enable
541    it to work call G4Navigator of Mass geometry directly, in
542    the case of single geometry (when G4PathFinder is disabled).
543  o Default value is currently 'true' --> for parallel navigation development.
544- G4PathFinder
545  o Improved the code that checks within relocation whether position
546    is proposed to be moved outside safety sphere from endpoint.
547
548October 26th, 2006 - G.Cosmo (geomnav-V08-01-02)
549----------------------------
550- G4Navigator:
551  o Added inline methods EnteredDaughterVolume() and ExitedMotherVolume() to
552    allow for verification of a point entering a daughter volume or exiting
553    the mother volume.
554  o Made LocateGlobalPointAndSetup() method virtual. Moved to non virtual
555    and inline LocateGlobalPointAndUpdateTouchableHandle() method.
556  o Moved 'fHistory' data member to protected to aloow for more complete
557    subclassing.
558  o Minor cosmetics to recently introduced printout diagnostics in
559    ComputeSafety() method.
560- G4TransportationManager:
561  o Added methods to access the list of the registered worlds.
562- NOTE: this tag does NOT include the recent developments introduced for
563  G4PathFinder. It resumes from tag "geomnav-V08-00-01"; anything else
564  introduced after it, except for changes in G4Navigator, is NOT included !
565
566October 25th, 2006 - J.Apostolakis
567----------------------------------
568- G4PathFinder: fixed initialisation of cached value for the
569  G4TransportationManager to cope with singletons.
570
571October 16th, 2006 - J.Apostolakis    (geomnav-V08-01-01)
572----------------------------------
573- G4Navigator: moved debug printing behind fVerbose conditions
574
575October 12th, 2006 - J.Apostolakis (geomnav-V08-01-00)
576----------------------------------
577- New class G4SafetyHelper to aid multiple scattering inn
578  determining the correct Mass geometry step (via PathFinder)
579  and all-geometry safety.
580- Several revisions, fixes to G4PathFinder.
581
582June 8th, 2006 - J.Apostolakis (geomnav-V08-00-06)
583------------------------------
584- G4PathFinder:
585  o New method 'ComputeSafety' to compute safety at endpoint of last step.
586
587June 2nd, 2006 - J.Apostolakis (geomnav-V08-00-05)
588------------------------------
589- G4PathFinder:
590  o New method ReLocate() for non-Transportation classes to call when moving
591    the endpoint of a particle. Uses LocateGlobalPointWithinVolume() method
592    of the navigators.
593  o Small fixes and protection of debug printing with Verbose flag.
594  o Default verbose level is now 0.
595
596May 28th, 2006 - J.Apostolakis (geomnav-V08-00-04)
597------------------------------
598- G4PathFinder:
599  o Check whether a process shifted the position since the last step.
600  o Corrected checking for 'Unique', i.e. one process limiting step.
601  o Revised printing (more information, some protected by verbose flag).
602
603May 27th, 2006 - J.Apostolakis (geomnav-V08-00-03)
604------------------------------
605- G4PathFinder revised significantly:
606  o Workaround for problem of CreateHistory() when outside world.
607  o Revised for new counting of Navigator IDs (M.Asai).
608  o Added MovePoint() method that signals if it moved.
609  o Added state to cope with cases where a full step is taken,
610    i.e. to cope with steps that return kInfinity:
611    New state:
612      RelocatedPoint - to show if it is moved;
613      TrueMinStep    - finite whereas reported can be kInfinity.
614    and to aid in clarifying the state of the (singleton) object:
615      LastStepNo     - already kept in one method (static), now exposed;
616      CurrentStepNo  - mostly for debugging and printing out.
617  o Small improvements in tests.
618
619May 23rd, 2006 - J.Apostolakis (geomnav-V08-00-02)
620------------------------------
621- Added new prototype class G4PathFinder to coupled navigation
622  in parallel geometries.
623
624May 22nd, 2006 - G.Cosmo (geomnav-V08-00-01)
625------------------------
626- Extended G4TransportationManager to handle multiple navigators.
627  Preserved interface for navigation in mass/tracking geometry.
628- Added activation flag to G4Navigator and related accessor methods.
629
630Feb 8th, 2006 - J.Apostolakis (geomnav-V08-00-00)
631-----------------------------
632- Addressing problem with convergence in LocateIntersectionPoint()
633  of G4PropagatorInField (problem identified by Atlas, observed when
634  requesting high precision, i.e. small values of eps_min/max, delta_one_step,
635  due e.g. to need for small delta_intersection):
636  o First solution by increasing maximum iterations (from 100 to 10,000).
637  o Until correct information can be returned, an Exception is thrown
638    in case of too many iterations.
639  o Warn in case over 1000 iterations, to let user see difficulty.
640- This fix is an interim solution, in lieu of improving the algorithm
641  for location (or returning correct incomplete progress).
642
643Nov 24th, 2005 - J.Apostolakis (geomnav-V07-01-02)
644------------------------------
645- Revised G4ParameterisedNavigation, to use new interface for
646  ComputeMaterial(). Now no longer needing 'Physical Touchable'.
647
648Sep 19th, 2005 - G.Cosmo  (geomnav-V07-01-01)
649------------------------
650- G4DrawVoxels: removed unnecessary 'panic' message in ComputeVoxelPolyhedra()
651  and some code cleanup.
652
653Jul 25th, 2005 - G.Cosmo  (geomnav-V07-01-00)
654------------------------
655- Some cleanup and cosmetic changes for Software Reference Manual.
656
657Jun 14th, 2005 - J.Apostolakis  (geomnav-V07-00-00)
658------------------------------
659- Added ability to use Nested Parameterisations to Parameterised Navigation
660  Coworks with tag "geomvol-V07-00-01".
661
662Dec 2nd, 2004 - G.Cosmo  (geomnav-V06-02-08)
663-----------------------
664- Implemented migration to <cmath> for standard mathematical functions.
665
666Nov 24th, 2004 - G.Cosmo  (geomnav-V06-02-07)
667------------------------
668- Fix in G4ReplicaNavigation::DistanceToOutPhi() for the case of phi
669  sections on convex surfaces. Fixes problem report #651.
670
671Nov 19th, 2004 - J.Apostolakis  (geomnav-V06-02-06)
672------------------------------
673- New access method in G4Navigator for SeverityOfZeroStepping().
674
675Nov 17th, 2004 - G.Cosmo  (geomnav-V06-02-05)
676------------------------
677- Allow consecutive corrections for stuck tracks in G4Navigator::ComputeStep()
678  up to 10 times before aborting the event.
679
680Sep 28th, 2004 - G.Cosmo  (geomnav-V06-02-04)
681------------------------
682- Invoke G4LogicalVolume::UpdateMaterial() instead of SetMaterial() for
683  parameterised navigation in G4Navigator and G4ParameterisedNavigation
684  (M.Asai).
685- Coworks with tag "geommng-V06-02-02".
686
687Sep 13th, 2004 - G.Cosmo  (geomnav-V06-02-03)
688------------------------
689- G4Navigator: corrected computation of fGrandMotherExitNormal in ComputeStep()
690  in the case where a not valid exit-normal exists.
691
692Sep 11th, 2004 - G.Cosmo  (geomnav-V06-02-02)
693------------------------
694- Dump out contents from the solid when a fatal G4Exception is thrown from
695  the navigators in ComputeStep().
696  Modified files G4NormalNavigation.cc, G4ParameterisedNavigation.cc,
697                 G4ReplicaNavigation.cc, G4VoxelNavigation.cc.
698
699Aug 31st, 2004 - D.C.Williams  (geomnav-V06-02-01)
700-----------------------------
701- G4GeomTestSegment: fix to correctly determine whether starting trajectory
702  is entering or exiting the solid when the starting point is on a surface.
703  Added additional tests on solid consistencies (from roundoff sometimes) to
704  avoid incorrect overlap warnings. Addresses problem reports #610 and #652.
705
706Jun 29th, 2004 - G.Cosmo  (geomnav-V06-02-00)
707------------------------
708- Fixed zero step-length problem in G4ReplicaNavigation::ComputeStep()
709  for cases where different replica types are coincident. Resolves
710  problem report #633.
711- G4NormalNavigation: added extra verbosity to print out information
712  for each solid which returns a 'lowest-yet' step, including the
713  mother volume. It is activated by setting verbose level to 2 or
714  more (J.Apostolakis).
715
716Jun 18th, 2004 - G.Cosmo  (geomnav-V06-01-03)
717------------------------
718- Enhanced check for null step in G4Navigator::ComputeStep().
719  Now attempting a corrective action after 10 consecutive zero steps.
720  Event gets aborted after 25 zero steps.
721
722Jun 15th, 2004 - G.Cosmo  (geomnav-V06-01-02)
723------------------------
724- Relax exception in G4Navigator::ComputeStep() for stuck tracks.
725  Event gets aborted after 25 zero steps.
726
727Jun 11th, 2004 - G.Cosmo  (geomnav-V06-01-01)
728------------------------
729- Added check to G4Navigator to count the number of steps with zero length
730  and issue an exception for tracks that get stuck in a loop (J.Apostolakis).
731- Modified GNUmakefile to define G4GEOMETRY_ALLOC_EXPORT flag for DLLs
732  build on Windows.
733
734May 17th, 2004 - G.Cosmo  (geomnav-V06-01-00)
735------------------------
736- Added more verbosity on solids response for navigators (optimised/not
737  optimised) if "check_mode" state is combined with verbose level-1.
738
739Mar 11th, 2004 - G.Cosmo  (geomnav-V06-00-02)
740------------------------
741- Added "check_mode" state for navigators. The state can be activated by
742  a new UI command (geometry/navigator/check_mode [true/false]) and will
743  force more strict and less tolerant checks in step/safety computation to
744  verify the correctness of solids' response in the geometry.
745- Reorganised verbosity levels. Added more useful information activated
746  when in G4VERBOSE mode and verbosity level selected.
747  Fixed output formatting when entering/exiting verbose blocks.
748
749Feb 27th, 2004 - G.Cosmo  (geomnav-V06-00-01)
750------------------------
751- G4Navigator.cc:
752  o Fixed old outstanding bug in ComputeStep() for the location of the
753    the local point in the calculation of a valid exit normal. (V.Grichine)
754
755Feb  9th, 2004 - J.Apostolakis  (geomnav-V06-00-00)
756------------------------------
757- G4PropagatorInField.cc:
758  o ReEstimateEndpoint:  Changed to cope with a failure of AccurateAdvance,
759                         by calling it iteratively up maximum 20 times.
760  o SetVerboseLevel, now forwards the verbosity (minus 3) to integration driver
761
762Dec 11th, 2003 - J.Apostolakis  (geomnav-V05-02-15)
763------------------------------
764- G4PropagatorInField.cc:
765  o LocateIntersectionPoint: Refined re-setting of finalSection.
766    --> Endpoint recalculation is returned only for final section.
767    (trial fix in -14 is replaced by above code)
768  o Fixed ReEstimateEndPoint which ignored return code of AccurateAdvance
769    and moved to short end-point for long requests
770    It now leaves the endpoint unchanged, when it cannot improve it.
771  o Few format changes for PrintStatus
772
773Dec 10th, 2003 - J.Apostolakis  (geomnav-V05-02-14)
774------------------------------
775- G4PropagatorInField.cc on top of latest (not 1.7):
776  o Fix for the case where two previous corrections are 'operational'
777     Problem if the current endpoint is not the final one, and it has been
778     recalculated, and we need to go beyond the current section to the
779     final one -- the recalcuted endpoint no longer valid!
780
781Dec 10th, 2003 - J.Apostolakis  (geomnav-V05-02-13)
782------------------------------
783- G4PropagatorInField.cc:
784  o Gone back to version 1.7, without the fix in LocateIntersectionPoint
785      for the "long-standing error".
786
787Dec  5th, 2003 - G.Cosmo - (geomnav-V05-02-12)
788------------------------
789- G4TransportationManager.cc:
790  o removed initialisation of allocators for navigation levels, where they
791    were introduced as workaround for solving static initialisation a long
792    time ago. Now moved to "volumes" module, where they should belong, in
793    G4TouchableHistory.cc.
794- Restored original unit-tests, using inherited navigator.
795  --> Requires geomvol-V05-02-08
796 
797Dec  4th, 2003 - J.Apostolakis  (geomnav-V05-02-11)
798------------------------------
799- G4PropagatorInField.cc
800  o Corrected placement of #endif for two #ifdef VERBOSE
801
802Dec  2nd, 2003 - J.Apostolakis  (geomnav-V05-02-10)
803------------------------------
804- G4PropagatorInField[.hh.cc]:
805   o Fixed LocateIntersectionPoint for long-standing error.
806     A section of the chord was not considered in use case where
807     a previous chord at first appeared to have an intersection, but did not.
808
809Nov 26th, 2003 - J.Apostolakis  (geomnav-V05-02-09)
810------------------------------
811- G4PropagatorInField[.hh.cc]:
812  o Added argument Method LocateIntersectionPoint G4bool& recalculatedEndPt
813    to return 'true' if the endpoint has been recalculated.
814    This fixes a problem that can occasionally cause the skipping of a volume
815    boundary - in the case when a re-integration was done near a boundary,
816    because the new endpoint was previously not passed back.
817  o ComputeStep also changed to accept above recalculation.
818  o New method GetVerboseLevel(),  closer to std naming than Verbose()
819
820Nov 14th, 2003 - J.Apostolakis  (geomnav-V05-02-08)
821------------------------------
822- Retagged the files of tag "geomnav-V05-02-07", due to tagging with same
823  name incorrectly files in another directory and, as such confusing Bonsai.
824
825Nov 13th, 2003 - J.Apostolakis  (geomnav-V05-02-07)
826------------------------------
827- G4PropagatorInField[.hh.icc.cc]:
828  o Pass safety sphere information to G4ChordFinder for optimisation
829  o Including G4ChordFinder.hh only in .cc file
830- Requires and coworks with "field-V05-02-08" tag.
831
832
833Nov 10th, 2003 - G.Cosmo  (geomnav-V05-02-06)
834------------------------
835- G4Navigator[.hh.icc.cc] - methods review:
836  o Removed obsolete methods: IsExitNormalValid(), GetLocalExitNormal().
837  o Renamed method LocateGlobalPointAndSetup(p,v,history) to
838    ResetHistoryAndLocate(p,v,history).
839  o Moved to protected the following methods: GetCurrentLocalCoordinate(),
840    ComputeLocalPoint(), ComputeLocalAxis(), NetTranslation(),
841    NetRotation(), EnteredDaughterVolume().
842  o Fixed consistency of inline/not-inline implementations of methods.
843- Coworks with tag "tracking-V05-02-03".
844
845Nov 6th, 2003 - J.Apostolakis  (geomnav-V05-02-05)
846-----------------------------
847- G4PropagatorInField[.hh.icc.cc]:
848  o Implements move of EpsilonMin / Max to G4FieldManager.
849- Requires and coworks with "field-V05-02-04" or later tag.
850
851Nov 6th, 2003 - G.Cosmo  (geomnav-V05-02-04)
852-----------------------
853- G4Navigator[.hh.icc.cc]:
854  o Made relevant methods virtual to verify performance impact.
855    If tests will behave reasonably, a further refinement in the
856    design of the class will be applied, in view of a more consistent
857    design review next year.
858
859Nov 3rd, 2003 - G.Cosmo  (geomnav-V05-02-03)
860-----------------------
861- Code cleanup and headers inclusion review
862  (replaced by forward declarations where necessary).
863- Added build system to tests. Cleared compilation warnings.
864
865Oct 29th, 2003 - J.Apostolakis  (geomnav-V05-02-02)
866------------------------------
867- G4PropagatorInField:
868  Added option to turn On/Off the optimisation of using the safety
869  in calling G4Navigator.
870- Unit tests: moved test testG4NavigatorX, X=1,2,3,4,5,6 here from
871  "volumes" module.
872
873Oct 24th, 2003 - G.Cosmo  (geomnav-V05-02-01)
874------------------------
875- Migrated calls to G4Exception to new scheme.
876- Fixed compilation warning in G4PropagationInField.
877
878Sep 29th, 2003 - G.Cosmo  (geomnav-V05-02-00)
879------------------------
880- Created.
881  Imported classes from "volumes", "management" and "verification" modules:
882    G4AuxiliaryNavServices[.hh.icc]             - from geometry/volumes
883    G4GeometryMessenger[.hh.cc]                 -       "       "
884    G4Navigator[.hh.icc.cc]                     -       "       "
885    G4NormalNavigation[.hh.icc.cc]              -       "       "
886    G4ParameterisedNavigation[.hh.icc.cc]       -       "       "
887    G4PropagatorInField[.hh.icc.cc]             -       "       "
888    G4ReplicaNavigation[.hh.icc.cc]             -       "       "
889    G4TransportationManager[.hh.icc.cc]         -       "       "
890    G4VoxelNavigation[.hh.icc.cc]               -       "       "
891    G4DrawVoxels[.hh.cc]                        - from geometry/management
892    G4GeomTest*[.hh.cc]                         - from geometry/verification
893- Cleared call to PV->Setup() according to changes in G4VPhysicalVolume.
894  Affected files: G4Navigator[.icc.cc], G4ParameterisedNavigation[.icc.cc],
895                  G4VoxelNavigation[.icc.cc], G4ReplicaNavigation[.icc.cc],
896                  G4NormalNavigation[.icc.cc].
897- G4DrawVoxels: retrieve top transformation through touchable history in
898  method DrawVoxels(). Removed old method GetAbsoluteTransformation().
899- G4GeomTestErrorList.cc: retrieve top transformation through touchable
900  history in method FindGlobalCoordinateSystem().
901
902+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
903Imported History file from old geometry/verification module
904+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
905
906May 20th, 2003          G.Cosmo  (geomver-V05-01-00)
907- G4GeomTestVolume[.hh.cc]:
908  o Added methods TestRecursiveLine() and TestRecursiveCylinder() for
909    allowing recursion on line_test and cylinder_test respectively.
910  o Introduced ability to control depth and starting level of recursion.
911
912Jul 30th, 2002          G.Cosmo  (geomver-V04-01-00)
913- G4GeomTestVolume.cc: fixed recursive call to G4GeomTestVolume passing also
914  'tolerance' as argument in the recursive test algorithm.
915
916Apr 19th, 2002          G.Cosmo  (geomver-V04-00-00)
917- Moved inline constructors and destructors to no inline.
918  Affected files: G4GeomTestStreamLogger[.hh.cc].
919
920Oct 24th, 2001          G.Cosmo  (geomver-V03-02-02)
921- Fixed compilation error and warnings on HP-aCC. Modified files:
922  G4GeomTestVolume.cc, G4GeomTestStreamLogger.cc.
923
924Oct 24th, 2001          G.Cosmo  (geomver-V03-02-01)
925- Moved messenger to geometry/volumes and renamed G4GeometryMessenger.
926- Removed dependencies from intercoms and geometry/volumes.
927
928Oct 22nd, 2001          G.Cosmo  (geomver-V03-02-00)
929- Added "/geomtest/tolerance" command to set custom error tolerance.
930  Added Set/GetTolerance() methods to G4GeomTestVolume class.
931- Introduced additional diagnostics in G4GeomTestStreamLogger to report
932  in case no intersections/overlaps are detected.
933
934Oct 16th, 2001          G.Cosmo
935- Added messenger for geometry overlaps testing.
936- General source code formatting.
937- G4TestGeom* classes implementation by D.C.Williams (UCSC, BaBar).
Note: See TracBrowser for help on using the repository browser.