source: trunk/source/geometry/navigation/History

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

geant4 tag 9.4

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