Files
geant4/source/geometry/navigation/History
T
2016-06-09 15:07:44 +02:00

513 lines
22 KiB
Plaintext

$Id: History,v 1.73.2.1 2007/04/26 15:23:01 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
Category History file
---------------------
This file should be used by G4 developers and category coordinators
to briefly summarize all major modifications introduced in the code
and keep track of all category-tags.
It DOES NOT substitute the CVS log-message one should put at every
committal in the CVS repository !
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
April 26th, 2007 - T.Nikitina (geomnav-V08-02-01a)
-----------------------------
- Fixed case of out of range access in G4GeomTestSegment responsible for
crashes observed when recursive-grid test for overlaps was run.
Addressing problem report #784.
February 13th, 2007 - J.Apostolakis (geomnav-V08-02-01)
-----------------------------------
- G4PropagatorInField:
o Implemented ClearPropagatorState() to clear all the track-dependent
state (incl. safety, zero-steps, loop flag ...).
** Calling this is mandatory for each new track because in the case of
geometry overlaps, the safety can be easily inconsistent (and/or
incorrect) otherwise
** Must be called from G4Transportation (or alternatives) !!
- Fix created Jan 25th, 2007
January 31st, 2007 - G.Cosmo (geomnav-V08-02-00)
----------------------------
- G4Navigator: forcing call to CheckOverlaps() on the current volume
before event abortion for cases of stuck tracks.
- Requires tag "geommng-V08-02-00".
November 23rd, 2006 - J.Apostolakis (geomnav-V08-01-08)
-----------------------------------
- G4PathFinder:
o Fix when report a problem - only if move > safety (additional check) *Key change*
o Revised condition for extra checking against safety
o Many small and cosmetic changes in debug printing.
November 18th, 2006 - J.Apostolakis (geomnav-V08-01-07)
-----------------------------------
- G4PathFinder:
o Fix for problem when step is fully taken
-- Note: this occurs due to optimisation in PiF that avoids calling G4(Multi)Navigator!!
o Function LimitedString( ELimited lim ) enables printing this enum
Small/cosmetic
- G4PathFinder:
o Improved printing in IntersectChord. Deleted/simplified few prints in ComputeStep
- G4MultiNavigator - cleanup, cosmetics
November 13th, 2006 - G.Cosmo (geomnav-V08-01-06)
-----------------------------
- Fixed compilation warnings and some cleanup ...
November 11th, 2006 - J.Apostolakis (geomnav-V08-01-05)
-----------------------------------
G4PathFinder improvements for parallel Navigation
- ComputeStep method signature extended to add volume
- Use G4MultiNavigator for tracking in field.
G4MultiNavigator: several fixes, primarily for
taking care of condition of geometry limited step.
November 11th, 2006 - J.Apostolakis (geomnav-V08-01-04)
-----------------------------------
- G4PropagatorInField:
o Refined fix in LocateIntersectionPoint(), to subdivide
in case it cannot find intersection point quickly (T.Nikitina).
Second version, with several levels of cutting.
o NOTE: Special tags made (later) not including the Developments in
G4TransportationManager, G4PathFinder, G4SafetyHelper for parallel
navigation. i.e. - based on tag "geomnav-V08-01-03".
November 11th, 2006 - J.Apostolakis
-----------------------------------
- Created G4MultiNavigator class and utilised it from G4PathFinder
to implement curved trajectory parallel navigation.
November 10th, 2006 - J.Apostolakis (geomnav-V08-01-03)
-----------------------------------
- G4PropagatorInField:
o Fix in LocateIntersectionPoint(), to subdivide in case it cannot find
intersection point quickly (T.Nikitina).
First version, only one level of cutting
o NOTE: Special tags made (later) not including the Developments in
G4TransportationManager, G4PathFinder, G4SafetyHelper for parallel
navigation. i.e. - based on tag "geomnav-V08-01-02".
November 9th, 2006 - J.Apostolakis
-----------------------------------
- G4SafetyHelper:
o Changed default value of 'fUseParallelGeometries' to 'false'.
This is the default, except when using parallel geometries.
Value 'true' will become the default.
November 4th, 2006 - M.Asai
---------------------------
- G4TransportationManager:
o added new method SetWorldForTracking() to enable change of world from
the RunManager.
October 31st, 2006 - J.Apostolakis
----------------------------------
- G4SafetyHelper
o Added new class variable 'fUseParallelGeometries', to enable
it to work call G4Navigator of Mass geometry directly, in
the case of single geometry (when G4PathFinder is disabled).
o Default value is currently 'true' --> for parallel navigation development.
- G4PathFinder
o Improved the code that checks within relocation whether position
is proposed to be moved outside safety sphere from endpoint.
October 26th, 2006 - G.Cosmo (geomnav-V08-01-02)
----------------------------
- G4Navigator:
o Added inline methods EnteredDaughterVolume() and ExitedMotherVolume() to
allow for verification of a point entering a daughter volume or exiting
the mother volume.
o Made LocateGlobalPointAndSetup() method virtual. Moved to non virtual
and inline LocateGlobalPointAndUpdateTouchableHandle() method.
o Moved 'fHistory' data member to protected to aloow for more complete
subclassing.
o Minor cosmetics to recently introduced printout diagnostics in
ComputeSafety() method.
- G4TransportationManager:
o Added methods to access the list of the registered worlds.
- NOTE: this tag does NOT include the recent developments introduced for
G4PathFinder. It resumes from tag "geomnav-V08-00-01"; anything else
introduced after it, except for changes in G4Navigator, is NOT included !
October 25th, 2006 - J.Apostolakis
----------------------------------
- G4PathFinder: fixed initialisation of cached value for the
G4TransportationManager to cope with singletons.
October 16th, 2006 - J.Apostolakis (geomnav-V08-01-01)
----------------------------------
- G4Navigator: moved debug printing behind fVerbose conditions
October 12th, 2006 - J.Apostolakis (geomnav-V08-01-00)
----------------------------------
- New class G4SafetyHelper to aid multiple scattering inn
determining the correct Mass geometry step (via PathFinder)
and all-geometry safety.
- Several revisions, fixes to G4PathFinder.
June 8th, 2006 - J.Apostolakis (geomnav-V08-00-06)
------------------------------
- G4PathFinder:
o New method 'ComputeSafety' to compute safety at endpoint of last step.
June 2nd, 2006 - J.Apostolakis (geomnav-V08-00-05)
------------------------------
- G4PathFinder:
o New method ReLocate() for non-Transportation classes to call when moving
the endpoint of a particle. Uses LocateGlobalPointWithinVolume() method
of the navigators.
o Small fixes and protection of debug printing with Verbose flag.
o Default verbose level is now 0.
May 28th, 2006 - J.Apostolakis (geomnav-V08-00-04)
------------------------------
- G4PathFinder:
o Check whether a process shifted the position since the last step.
o Corrected checking for 'Unique', i.e. one process limiting step.
o Revised printing (more information, some protected by verbose flag).
May 27th, 2006 - J.Apostolakis (geomnav-V08-00-03)
------------------------------
- G4PathFinder revised significantly:
o Workaround for problem of CreateHistory() when outside world.
o Revised for new counting of Navigator IDs (M.Asai).
o Added MovePoint() method that signals if it moved.
o Added state to cope with cases where a full step is taken,
i.e. to cope with steps that return kInfinity:
New state:
RelocatedPoint - to show if it is moved;
TrueMinStep - finite whereas reported can be kInfinity.
and to aid in clarifying the state of the (singleton) object:
LastStepNo - already kept in one method (static), now exposed;
CurrentStepNo - mostly for debugging and printing out.
o Small improvements in tests.
May 23rd, 2006 - J.Apostolakis (geomnav-V08-00-02)
------------------------------
- Added new prototype class G4PathFinder to coupled navigation
in parallel geometries.
May 22nd, 2006 - G.Cosmo (geomnav-V08-00-01)
------------------------
- Extended G4TransportationManager to handle multiple navigators.
Preserved interface for navigation in mass/tracking geometry.
- Added activation flag to G4Navigator and related accessor methods.
Feb 8th, 2006 - J.Apostolakis (geomnav-V08-00-00)
-----------------------------
- Addressing problem with convergence in LocateIntersectionPoint()
of G4PropagatorInField (problem identified by Atlas, observed when
requesting high precision, i.e. small values of eps_min/max, delta_one_step,
due e.g. to need for small delta_intersection):
o First solution by increasing maximum iterations (from 100 to 10,000).
o Until correct information can be returned, an Exception is thrown
in case of too many iterations.
o Warn in case over 1000 iterations, to let user see difficulty.
- This fix is an interim solution, in lieu of improving the algorithm
for location (or returning correct incomplete progress).
Nov 24th, 2005 - J.Apostolakis (geomnav-V07-01-02)
------------------------------
- Revised G4ParameterisedNavigation, to use new interface for
ComputeMaterial(). Now no longer needing 'Physical Touchable'.
Sep 19th, 2005 - G.Cosmo (geomnav-V07-01-01)
------------------------
- G4DrawVoxels: removed unnecessary 'panic' message in ComputeVoxelPolyhedra()
and some code cleanup.
Jul 25th, 2005 - G.Cosmo (geomnav-V07-01-00)
------------------------
- Some cleanup and cosmetic changes for Software Reference Manual.
Jun 14th, 2005 - J.Apostolakis (geomnav-V07-00-00)
------------------------------
- Added ability to use Nested Parameterisations to Parameterised Navigation
Coworks with tag "geomvol-V07-00-01".
Dec 2nd, 2004 - G.Cosmo (geomnav-V06-02-08)
-----------------------
- Implemented migration to <cmath> for standard mathematical functions.
Nov 24th, 2004 - G.Cosmo (geomnav-V06-02-07)
------------------------
- Fix in G4ReplicaNavigation::DistanceToOutPhi() for the case of phi
sections on convex surfaces. Fixes problem report #651.
Nov 19th, 2004 - J.Apostolakis (geomnav-V06-02-06)
------------------------------
- New access method in G4Navigator for SeverityOfZeroStepping().
Nov 17th, 2004 - G.Cosmo (geomnav-V06-02-05)
------------------------
- Allow consecutive corrections for stuck tracks in G4Navigator::ComputeStep()
up to 10 times before aborting the event.
Sep 28th, 2004 - G.Cosmo (geomnav-V06-02-04)
------------------------
- Invoke G4LogicalVolume::UpdateMaterial() instead of SetMaterial() for
parameterised navigation in G4Navigator and G4ParameterisedNavigation
(M.Asai).
- Coworks with tag "geommng-V06-02-02".
Sep 13th, 2004 - G.Cosmo (geomnav-V06-02-03)
------------------------
- G4Navigator: corrected computation of fGrandMotherExitNormal in ComputeStep()
in the case where a not valid exit-normal exists.
Sep 11th, 2004 - G.Cosmo (geomnav-V06-02-02)
------------------------
- Dump out contents from the solid when a fatal G4Exception is thrown from
the navigators in ComputeStep().
Modified files G4NormalNavigation.cc, G4ParameterisedNavigation.cc,
G4ReplicaNavigation.cc, G4VoxelNavigation.cc.
Aug 31st, 2004 - D.C.Williams (geomnav-V06-02-01)
-----------------------------
- G4GeomTestSegment: fix to correctly determine whether starting trajectory
is entering or exiting the solid when the starting point is on a surface.
Added additional tests on solid consistencies (from roundoff sometimes) to
avoid incorrect overlap warnings. Addresses problem reports #610 and #652.
Jun 29th, 2004 - G.Cosmo (geomnav-V06-02-00)
------------------------
- Fixed zero step-length problem in G4ReplicaNavigation::ComputeStep()
for cases where different replica types are coincident. Resolves
problem report #633.
- G4NormalNavigation: added extra verbosity to print out information
for each solid which returns a 'lowest-yet' step, including the
mother volume. It is activated by setting verbose level to 2 or
more (J.Apostolakis).
Jun 18th, 2004 - G.Cosmo (geomnav-V06-01-03)
------------------------
- Enhanced check for null step in G4Navigator::ComputeStep().
Now attempting a corrective action after 10 consecutive zero steps.
Event gets aborted after 25 zero steps.
Jun 15th, 2004 - G.Cosmo (geomnav-V06-01-02)
------------------------
- Relax exception in G4Navigator::ComputeStep() for stuck tracks.
Event gets aborted after 25 zero steps.
Jun 11th, 2004 - G.Cosmo (geomnav-V06-01-01)
------------------------
- Added check to G4Navigator to count the number of steps with zero length
and issue an exception for tracks that get stuck in a loop (J.Apostolakis).
- Modified GNUmakefile to define G4GEOMETRY_ALLOC_EXPORT flag for DLLs
build on Windows.
May 17th, 2004 - G.Cosmo (geomnav-V06-01-00)
------------------------
- Added more verbosity on solids response for navigators (optimised/not
optimised) if "check_mode" state is combined with verbose level-1.
Mar 11th, 2004 - G.Cosmo (geomnav-V06-00-02)
------------------------
- Added "check_mode" state for navigators. The state can be activated by
a new UI command (geometry/navigator/check_mode [true/false]) and will
force more strict and less tolerant checks in step/safety computation to
verify the correctness of solids' response in the geometry.
- Reorganised verbosity levels. Added more useful information activated
when in G4VERBOSE mode and verbosity level selected.
Fixed output formatting when entering/exiting verbose blocks.
Feb 27th, 2004 - G.Cosmo (geomnav-V06-00-01)
------------------------
- G4Navigator.cc:
o Fixed old outstanding bug in ComputeStep() for the location of the
the local point in the calculation of a valid exit normal. (V.Grichine)
Feb 9th, 2004 - J.Apostolakis (geomnav-V06-00-00)
------------------------------
- G4PropagatorInField.cc:
o ReEstimateEndpoint: Changed to cope with a failure of AccurateAdvance,
by calling it iteratively up maximum 20 times.
o SetVerboseLevel, now forwards the verbosity (minus 3) to integration driver
Dec 11th, 2003 - J.Apostolakis (geomnav-V05-02-15)
------------------------------
- G4PropagatorInField.cc:
o LocateIntersectionPoint: Refined re-setting of finalSection.
--> Endpoint recalculation is returned only for final section.
(trial fix in -14 is replaced by above code)
o Fixed ReEstimateEndPoint which ignored return code of AccurateAdvance
and moved to short end-point for long requests
It now leaves the endpoint unchanged, when it cannot improve it.
o Few format changes for PrintStatus
Dec 10th, 2003 - J.Apostolakis (geomnav-V05-02-14)
------------------------------
- G4PropagatorInField.cc on top of latest (not 1.7):
o Fix for the case where two previous corrections are 'operational'
Problem if the current endpoint is not the final one, and it has been
recalculated, and we need to go beyond the current section to the
final one -- the recalcuted endpoint no longer valid!
Dec 10th, 2003 - J.Apostolakis (geomnav-V05-02-13)
------------------------------
- G4PropagatorInField.cc:
o Gone back to version 1.7, without the fix in LocateIntersectionPoint
for the "long-standing error".
Dec 5th, 2003 - G.Cosmo - (geomnav-V05-02-12)
------------------------
- G4TransportationManager.cc:
o removed initialisation of allocators for navigation levels, where they
were introduced as workaround for solving static initialisation a long
time ago. Now moved to "volumes" module, where they should belong, in
G4TouchableHistory.cc.
- Restored original unit-tests, using inherited navigator.
--> Requires geomvol-V05-02-08
Dec 4th, 2003 - J.Apostolakis (geomnav-V05-02-11)
------------------------------
- G4PropagatorInField.cc
o Corrected placement of #endif for two #ifdef VERBOSE
Dec 2nd, 2003 - J.Apostolakis (geomnav-V05-02-10)
------------------------------
- G4PropagatorInField[.hh.cc]:
o Fixed LocateIntersectionPoint for long-standing error.
A section of the chord was not considered in use case where
a previous chord at first appeared to have an intersection, but did not.
Nov 26th, 2003 - J.Apostolakis (geomnav-V05-02-09)
------------------------------
- G4PropagatorInField[.hh.cc]:
o Added argument Method LocateIntersectionPoint G4bool& recalculatedEndPt
to return 'true' if the endpoint has been recalculated.
This fixes a problem that can occasionally cause the skipping of a volume
boundary - in the case when a re-integration was done near a boundary,
because the new endpoint was previously not passed back.
o ComputeStep also changed to accept above recalculation.
o New method GetVerboseLevel(), closer to std naming than Verbose()
Nov 14th, 2003 - J.Apostolakis (geomnav-V05-02-08)
------------------------------
- Retagged the files of tag "geomnav-V05-02-07", due to tagging with same
name incorrectly files in another directory and, as such confusing Bonsai.
Nov 13th, 2003 - J.Apostolakis (geomnav-V05-02-07)
------------------------------
- G4PropagatorInField[.hh.icc.cc]:
o Pass safety sphere information to G4ChordFinder for optimisation
o Including G4ChordFinder.hh only in .cc file
- Requires and coworks with "field-V05-02-08" tag.
Nov 10th, 2003 - G.Cosmo (geomnav-V05-02-06)
------------------------
- G4Navigator[.hh.icc.cc] - methods review:
o Removed obsolete methods: IsExitNormalValid(), GetLocalExitNormal().
o Renamed method LocateGlobalPointAndSetup(p,v,history) to
ResetHistoryAndLocate(p,v,history).
o Moved to protected the following methods: GetCurrentLocalCoordinate(),
ComputeLocalPoint(), ComputeLocalAxis(), NetTranslation(),
NetRotation(), EnteredDaughterVolume().
o Fixed consistency of inline/not-inline implementations of methods.
- Coworks with tag "tracking-V05-02-03".
Nov 6th, 2003 - J.Apostolakis (geomnav-V05-02-05)
-----------------------------
- G4PropagatorInField[.hh.icc.cc]:
o Implements move of EpsilonMin / Max to G4FieldManager.
- Requires and coworks with "field-V05-02-04" or later tag.
Nov 6th, 2003 - G.Cosmo (geomnav-V05-02-04)
-----------------------
- G4Navigator[.hh.icc.cc]:
o Made relevant methods virtual to verify performance impact.
If tests will behave reasonably, a further refinement in the
design of the class will be applied, in view of a more consistent
design review next year.
Nov 3rd, 2003 - G.Cosmo (geomnav-V05-02-03)
-----------------------
- Code cleanup and headers inclusion review
(replaced by forward declarations where necessary).
- Added build system to tests. Cleared compilation warnings.
Oct 29th, 2003 - J.Apostolakis (geomnav-V05-02-02)
------------------------------
- G4PropagatorInField:
Added option to turn On/Off the optimisation of using the safety
in calling G4Navigator.
- Unit tests: moved test testG4NavigatorX, X=1,2,3,4,5,6 here from
"volumes" module.
Oct 24th, 2003 - G.Cosmo (geomnav-V05-02-01)
------------------------
- Migrated calls to G4Exception to new scheme.
- Fixed compilation warning in G4PropagationInField.
Sep 29th, 2003 - G.Cosmo (geomnav-V05-02-00)
------------------------
- Created.
Imported classes from "volumes", "management" and "verification" modules:
G4AuxiliaryNavServices[.hh.icc] - from geometry/volumes
G4GeometryMessenger[.hh.cc] - " "
G4Navigator[.hh.icc.cc] - " "
G4NormalNavigation[.hh.icc.cc] - " "
G4ParameterisedNavigation[.hh.icc.cc] - " "
G4PropagatorInField[.hh.icc.cc] - " "
G4ReplicaNavigation[.hh.icc.cc] - " "
G4TransportationManager[.hh.icc.cc] - " "
G4VoxelNavigation[.hh.icc.cc] - " "
G4DrawVoxels[.hh.cc] - from geometry/management
G4GeomTest*[.hh.cc] - from geometry/verification
- Cleared call to PV->Setup() according to changes in G4VPhysicalVolume.
Affected files: G4Navigator[.icc.cc], G4ParameterisedNavigation[.icc.cc],
G4VoxelNavigation[.icc.cc], G4ReplicaNavigation[.icc.cc],
G4NormalNavigation[.icc.cc].
- G4DrawVoxels: retrieve top transformation through touchable history in
method DrawVoxels(). Removed old method GetAbsoluteTransformation().
- G4GeomTestErrorList.cc: retrieve top transformation through touchable
history in method FindGlobalCoordinateSystem().
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Imported History file from old geometry/verification module
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
May 20th, 2003 G.Cosmo (geomver-V05-01-00)
- G4GeomTestVolume[.hh.cc]:
o Added methods TestRecursiveLine() and TestRecursiveCylinder() for
allowing recursion on line_test and cylinder_test respectively.
o Introduced ability to control depth and starting level of recursion.
Jul 30th, 2002 G.Cosmo (geomver-V04-01-00)
- G4GeomTestVolume.cc: fixed recursive call to G4GeomTestVolume passing also
'tolerance' as argument in the recursive test algorithm.
Apr 19th, 2002 G.Cosmo (geomver-V04-00-00)
- Moved inline constructors and destructors to no inline.
Affected files: G4GeomTestStreamLogger[.hh.cc].
Oct 24th, 2001 G.Cosmo (geomver-V03-02-02)
- Fixed compilation error and warnings on HP-aCC. Modified files:
G4GeomTestVolume.cc, G4GeomTestStreamLogger.cc.
Oct 24th, 2001 G.Cosmo (geomver-V03-02-01)
- Moved messenger to geometry/volumes and renamed G4GeometryMessenger.
- Removed dependencies from intercoms and geometry/volumes.
Oct 22nd, 2001 G.Cosmo (geomver-V03-02-00)
- Added "/geomtest/tolerance" command to set custom error tolerance.
Added Set/GetTolerance() methods to G4GeomTestVolume class.
- Introduced additional diagnostics in G4GeomTestStreamLogger to report
in case no intersections/overlaps are detected.
Oct 16th, 2001 G.Cosmo
- Added messenger for geometry overlaps testing.
- General source code formatting.
- G4TestGeom* classes implementation by D.C.Williams (UCSC, BaBar).