Files
geant4/source/geometry/navigation/History
T
2016-06-09 16:46:55 +02:00

1165 lines
51 KiB
Plaintext

$Id: History,v 1.152 2010-12-15 13:47:10 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 *
----------------------------------------------------------
November 24th, 2011 - J.Apostolakis (geomnav-V09-04-12)
-----------------------------------
G4VIntersectionLocator: Use only 'last' Normal.
Disable fallback of using helper Navigator, as it appears
to cause problems in the presence of additional geometries.
November 23rd, 2011 - J.Apostolakis (geomnav-V09-04-11)
-----------------------------------
G4MultiNavigator: adapt to revisions of intersection logic,
to provide Exit Surface Normal for step ending on boundary.
First implementation of methods GetGlobalExitNormal,
GetLocalExitNormal and GetLocalExitNormalAndCheck.
The Local methods are not adapted for this case - they complain:
- warn if one navigator limited the step;
- fail report error if multiple navigators limited the step.
Added data members to record number of Navigators which limited
the step in the last call to ComputeStep ( fNoLimitingStep ),
and the id in case of just one having limited it (fIdNavLimiting).
November 18th, 2011 - J.Apostolakis (geomnav-V09-04-10)
-----------------------------------
G4Navigator.cc: fixed valid flag to mean correctly
'convexity' and 'have-calculated' in its two use cases.
- ComputeStep (G4Navigator)
* Undid / corrected change to 'fValidExitNormal' -
(meaning= exited solid is convex )
when it is recalculated for the case of exiting.
- Minor fix to GetLocalExitNormal (G4Navigator)
* Always set Valid=calculated for Local Normal
November 18th, 2011 - J.Apostolakis (geomnav-V09-04-09)
-----------------------------------
G4SimpleLocator, G4BrentLocator & G4MultiLevelLocator.
- Revised all Locator classes to use GetLastSurfaceNormal
which first calls the robust GetLastSurfaceNormal
instead of calling GetLocalSurfaceNormal
*Corrects* ATLAS stuck track issues for hard test cases.
November 11th, 2011 - G.Cosmo (geomnav-V09-04-08)
-----------------------------
- Trivial fixes for Coverity defects in G4GeomTestPoint and G4GeomTestVolPoint.
- Some code cleanup...
October 28th, 2011 - J.Apostolakis (geomnav-V09-04-07)
----------------------------------
- Fix in G4Navigator::GetLocalExitNormal() to use end-point of last
step (not start point) when calculating normal at end of step.
- New method GetLocalExitNormalAndCheck(3-vec, *valid) for checking,
now used by GetGlobalExitNormal().
- Added new state 'fLastStepEndPointLocal' to the state of G4Navigator.
October 26th, 2011 - J.Apostolakis (geomnav-V09-04-06)
----------------------------------
- Fix to G4Navigator::GetLocalExitNormal(): rewrote the case when ComputeStep()
has been called but not Locate.
If 'entering', must first transform 'fLastLocatedPointLocal' to the new
daughter coordinates before using them.
If 'exiting' use the stored values (as after Locate()).
- Created new method GetMotherToDaughterTransform() in G4Navigator:
'fLastLocatedPointLocal' remains in the coordinates of current step's
volume, i.e. what is called mother (always) , until after the re-location
(i.e. call to LocateGlobalPointAndSetup())
October 25th, 2011 - J.Apostolakis (geomnav-V09-04-05)
----------------------------------
- G4Navigator: ComputeSafety() no longer sets flag meant for ComputeStep().
October 24th, 2011 - J.Apostolakis (geomnav-V09-04-04)
----------------------------------
- Improvement in G4VIntersectionLocator (for use in GetLocalSurfaceNormal()):
make a data member of type G4TouchableHistoryHandle to replace interim use
of 'static' for local variable in GetLocalSurfaceNormal().
- G4MultiLevelNavigator: put in missing change of threshold.
October 21th, 2011 - J.Apostolakis (geomnav-V09-04-03)
----------------------------------
- Several fixes and improvements in G4VIntersectionLocator:
o Fix to GetSurfaceNormal(): fixed check in case of 'last computed' normal.
o Fix to GetGlobalSurfaceNormal(): use correct navigator (helper) to transform
normal from local to global
o Optimisation to GetLocalSurfaceNormal(): reuse G4TouchableHistoryHandle
(via static ad interim), do not allocate for every call.
Note: *limitation* of using helper - cannot cope with coincident surfaces in
this version (need to use direction of trial *chord* when locating).
o GetLocalExitNormal(): call Surface Normal only if on Surface or near inside,
else return 'false' for validity.
o All 'Normal' methods: check Normal vector to make sure its magnitude is
within 0.001 of 1.
October 18th, 2011 - J.Apostolakis
----------------------------------
- Locators (Simple, Brent, Multi-Level):
Refined the threshold for accepting a candidate intersection
The new criterion is much smaller (to capture more cases) :
sagitta < tolerance ~= 1e-9 mm
whereas it used to be
sagitta < geom_mean( tolerance, delta_intersection )
ie. sagitta < 1e-6 mm.
- Corrected compilation warning from gcc 4.6 (unused variables).
- Corrected problem in G4Navigator::GetLocalExitNormal (not set variable).
October 11th, 2011 - J.Apostolakis (geomnav-V09-04-02)
----------------------------------
- Created *fix* for ATLAS problem of tracks stuck on boundary of volumes:
Improved the condition for accepting a candidate intersection with
a boundary in the Locator classes.
>> It now *checks* that the track will enter the new volume. <<
All three Locator classes were revised to use the new convergence
condition ( ie G4SimpleLocator, G4BrentLocator and G4MultiLevelLocator).
Note: the check uses the dot product between the exiting normal and
the estimated momentum of the track at the approximate curve
point near the entry/intersection point.
- Revised G4VIntersectionLocator:
* New method GetSurfaceNormal, to get last normal or, if not
available obtain new estimate from GetGlocalSurfaceNormal;
* Corrected AdjustmentOfFoundIntersection() to use GlobalExitNormal
instead of Local(ExitNormal);
* Renamed arguments of IntersectChord (to no longer use fP prefix).
- Revised G4Navigator::GetLocalExitNormal():
* improved GetLocalExitNormal() method, to allow it to be called
before Locate is called at the endpoint of the last ComputeStep;
* adding state to identify whether ComputeStep was called last
(rather than a Locate method);
* adding a method to provide the Exit Normal in Global coordinates.
August 11th, 2011 - G.Cosmo (geomnav-V09-04-01)
---------------------------
- Migrated to new G4Exception scheme for warnings and errors.
- Defined scheme for warnings/errors coding:
+ 1xxx for warnings, 0xxx for errors.
Code numbering:
+ 0001: not supported or implemented features;
+ 0002: invalid setup/construct;
+ 0003: invalid run condition;
+ 1001: incorrect setup; automatically adapted.
+ 1002: notification.
May 12th, 2011 - G.Cosmo (geomnav-V09-04-00)
------------------------
- Fixed compilation warnings from gcc-4.6.0 for variables set but not used.
May 4th, 2011 - J.Apostolakis
-----------------------------
- Adjusted constructor in G4PropagatorInField to reorder class' data members,
to separate a) invariants, b) state information and c)Dependent objects.
December 15th, 2010 - G.Cosmo (geomnav-V09-03-10)
-----------------------------
- Added inline method for creation of a touchable-history given a navigation
history as argument. Required for clients like G4ScoreSplittingProcess, to
avoid external symbols exporting on generation of DLLs.
November 19th, 2010 - G.Cosmo (geomnav-V09-03-09)
-----------------------------
- Removed unused variable in G4RegularNavigation.
November 15th, 2010 - G.Cosmo (geomnav-V09-03-08)
-----------------------------
- Restored trials for zero steps to 10 in G4Navigator, as originally.
November 12th, 2010 - G.Cosmo (geomnav-V09-03-07)
-----------------------------
- Cleared compilation warnings for unused parameters; temporarily commented out.
November 11th, 2010 - G.Cosmo (geomnav-V09-03-06)
-----------------------------
- Set trials for zero steps to 5 before activating push in G4Navigator;
increased unit value to 100 times kCarTolerance to make push more effective.
November 10th, 2010 - G.Cosmo (geomnav-V09-03-05)
-----------------------------
- Reduced trials for zero steps from 10 to 3 for activating tolerance push
in G4Navigator.
- Added possibility to switch off push notifications in G4Navigator; also
added related UI command.
November 9th, 2010 - P.Arce
---------------------------
- Added new class G4PartialPhantomParameterisation allowing for envelopes
of different types other than box for regular geometries, so that relaxing
the restriction for voxels to completely fill the envelope container.
Adapted G4PhantomParameterisation, G4RegularNavigation and G4Navigator
accordingly.
November 4th, 2010 - G.Cosmo
----------------------------
- Added new class G4NavigationLogger for "check-mode" verbosity. Reorganised
verbosity formatting for voxel and normal navigation.
November 3rd, 2010 - J.Apostolakis
----------------------------------
- Added prototype class G4VoxelSafety for computation of exact safety.
September 6th, 2010 - G.Cosmo (geomnav-V09-03-04)
-----------------------------
- Added missing initialization for 'fNewSafety' and 'fTrueMinStep' in
G4MultiNavigator constructor.
September 3rd, 2010 - G.Cosmo (geomnav-V09-03-03)
-----------------------------
- Fixed typo in signature of ComputeStepSkippingEqualMaterials() in
G4RegularNavigation.
August 19th, 2010 - T.Nikitina (geomnav-V09-03-02)
------------------------------
- Fix in G4GeomTestSegment::FindSomePoints(), to address problem report #980.
July 12th, 2010 - G.Cosmo (geomnav-V09-03-01)
-------------------------
- Fixed array out of bound error in G4MultipleNavigator and G4PathFinder
constructors (J.Apostolakis).
- Fixed cout precision restoring in G4BrentLocator, G4PropagatorInField,
G4SimpleLocator, G4VIntersectionLocator and G4MultiLevelLocator.
- Removed unused private data members in G4MultiLevelLocator.
- Replaced use of DBL_MAX for distances with kInfinity in G4MultiNavigator
and G4Navigator internals.
- Exchanged conditions for initialization of members in G4TransportationManager
constructor.
- Added dummy initialisation of members in constructors in G4MultiNavigator,
G4ParameterisedNavigation, G4PathFinder, G4PhantomParameterisation,
G4RegularNavigation.
March 8th, 2010 - G.Cosmo (geomnav-V09-03-00)
-------------------------
- Avoid unnecessary creation of string for debug purposes in G4PropagatorInField.
Courtesy of P.Elmer (CMS).
- Some printout formatting...
December 11th, 2009 - J.Apostolakis (geomnav-V09-02-11)
-----------------------------------
- Implemented field by region in G4PropagatorInField, with extra checking of
logical volume.
November 30th, 2009 - J.Apostolakis (geomnav-V09-02-10)
-----------------------------------
- Fixes in G4VIntersectionLocator:
* Fixed problem in ReEstimateEndPoint() behaviour for very small steps.
* Corrected constructor to ensure that it initialises all data members.
* Labelled the methods (in header) to make noticable those that must change
at every step (attributes: 'ChordFinder', 'EpsilonStep', 'Navigator').
Nov 23rd, 2009 - J.Apostolakis
------------------------------
- Fixes in G4PropagatorInField.cc:
* Revised condition for flagging ZeroStep to avoid fake triggering. Small
proposed steps (from Physics) could trigger the previous simple condition
for Tiny/Zero Problem steps.
November 12th, 2009 - J.Apostolakis (geomnav-V09-02-09)
-----------------------------------
- Cleanup of minor methods in G4PropagatorInField:
* Added new method RefreshIntersectionLocator() to update the state of locator.
It is used to synchronise with G4IntersectionLocator.
* Deleted long obsolete methods: SetAccuraciesWithDeltaOneStep(),
SetDeltaIntersection() and SetDeltaOneStep().
* Revised implementation to avoid using the older methods GetDeltaIntersection()
and GetDeltaOneStep().
November 12th, 2009 - J.Apostolakis (geomnav-V09-02-08)
-----------------------------------
- Refined G4PropagatorInField.cc:
* Changed parameters for treating consecutive tiny/zero steps:
- the value of default decrease factor to 0.25 (from 0.1),
- the value is not used when the step size falls below a certain thresholds
This threshold is changed. It is expressed as a multiple of fZeroStepThreshold
instead of kCarTolerance. This, since the thresholds were meant to refer to
the ZeroStepThreshold (it was kCarTolerance), and the values were now much
larger than 'ZeroStepThreshold'.
- The value given to the decrease factor after the first such thresholds is
changed to 0.35 instead of 0.25, 0.5.
* Improved printing of Diagnostic message.
November 3rd, 2009 - J.Apostolakis (geomnav-V09-02-07)
----------------------------------
- Refined G4PropagatorInField.cc:
* Added new member fZeroStepThreshold, to enable tuning of threshold for
Tiny/Zero steps.
* Changed default value from 0.5 * kCarTolerance
to max (100,000 * kCarTolerance, 0.1 * micron )
* This is first revision to address problem seen at boundary of volumes
(Reports of ATLAS).
June 2nd, 2009 - J.Apostolakis (geomnav-V09-02-06)
------------------------------
- Fix in G4PropagatorInField::SetNavigator
* Forward new Navigator to IntersectionLocator.
May 20th, 2009 - P.Arce (geomnav-V09-02-05)
-----------------------
- Added method BuildContainerSolid() taking a solid as argument to
G4PhantomParameterisation. Added protection to GetMaterialIndex()
for zero index.
May 18th, 2009 - T.Nikitina (geomnav-V09-02-04)
---------------------------
- Enhanced algorithm for 'FB_intersects' in order to speedup BrentLocator.
- Fix in the usage of the geometrical tolerance in G4VIntersectionLocator
in method AdjustementOfFoundIntersection().
May 13th, 2009 - J.Apostolakis (geomnav-V09-02-03)
------------------------------
- Fix in G4PathFinder: A geometry is at a boundary if its step is within
tolerance of the minimum step for any geometry.
May 5th, 2009 - T.Nikitina (geomnav-V09-02-02)
--------------------------
- Fix in G4Navigator::ComputeStep() for the computation of rotation of the
'LocalExitNormal' in cases when DistanceToOut() returns non-valid normal
for optical photons in rotated solids. Addresses problem report #1059.
February 26th, 2009 - T.Nikitina (geomnav-V09-02-01)
--------------------------------
- Fixed problem in G4BrentLocator::EstimateIntersectionPoint() responsible
for rare cases of negative steps.
January 27th, 2009 - G.Cosmo (geomnav-V09-02-00)
----------------------------
- Added G4RegularNavigationHelper class, used by G4RegularNavigation for
counting the number of step lengths in each voxel of the regular structure
(by P.Arce).
- Some code cleanup...
December 11th, 2008 - T.Nikitina (geomnav-V09-01-10)
--------------------------------
- Reinstated G4MultiLevelLocator as the default locator to allow for proper
tuning of parameters in propagation in field and avoid CPU penalty currently
induced by default parameters.
- Corrected text in exceptions in locators classes.
November 14th, 2008 - T.Nikitina, J.Apostolakis (geomnav-V09-01-09)
-----------------------------------------------
- Introduced first implementation of new optional method in locator classes
AdjustementOfFoundIntersection() using surface-normal of the intersecting
solid to boost accuracy. Added the optional call to the new method in each
concrete locator.
- Removed unnecessary accessors for Brent locator in G4PropagatorInField.
- G4VoxelNavigation: implemented additional check when running in "check"
mode; if it is on the surface, ensure that it can move on next step;
either DistanceToIn(p,v) or DistanceToOut(p,v) should return a finite
value greater than the tolerance.
November 10th, 2008 - G.Cosmo (geomnav-V09-01-08)
-----------------------------
- G4PathFinder: cleared unecessary calls to ComputeSafety() in ReLocate().
October 28th, 2008 - T.Nikitina (geomnav-V09-01-07)
-------------------------------
- Moved method LocateIntersectionPoint() in G4PropagatorInField to a separate
class G4VIntersectionLocator, now allowing to use different location
algorithms: Brent, MultiLevel, Simple.
- New classes: G4VIntersectionLocator, G4SimpleLocator, G4BrentLocator and
G4MultiLevelLocator.
- Coworks with tag "field-V09-01-03".
October 10th, 2008 - G.Cosmo (geomnav-V09-01-06)
----------------------------
- Introduced optional Boolean argument in G4Navigator::ComputeSafety() to
allow for computation of safety without modifying the state restoring of
the navigator.
- Modified accordingly the following classes, for calls to ComputeSafety():
G4SafetyHelper, G4PathFinder (now calling ComputeSafety() with TRUE
argument to preserve navigator's state), G4MultiNavigator and
G4ErrorPropagationNavigator.
May 5th, 2008 - T.Nikitina (geomnav-V09-01-05)
--------------------------
- Added Brent method for LocateIntersectionPoint() in G4PropagatorInField.
The Brent method is now used as default and can be switched off through
call to the proper accessor function SetBrentMethod().
- Requires related update to G4ChordFinder in geometry/magneticfield module
included in tag "field-V09-01-02".
April 29th, 2008 - M.Asai (geomnav-V09-01-04)
-------------------------
- G4PathFinder: commented out warning and exception in ComputeStep()
for step smaller than minimum threshold.
April 28th, 2008 - G.Cosmo (geomnav-V09-01-03)
--------------------------
- Corrected condition for wrong evaluation order introduced in the
previous tag.
March 13th, 2008 - G.Cosmo (geomnav-V09-01-02)
--------------------------
- Cleared compilation warnings in G4ReplicaNavigation on gcc-4.3.0 for
ambiguous use of parentheses in condition statements.
January 24th, 2008 - T.Nikitina (geomnav-V09-01-01)
-------------------------------
- G4PropagatorInField: changed condition for 'ReEstimationEndPoint'
in order to better handle very strict parameters of propagation.
Also added more verbosity in case of error for negative step.
Fixes rare problem observed in production by ATLAS.
January 22nd, 2008 - P.Arce (geomnav-V09-01-00)
---------------------------
- G4PhantomParameterisation:
o Bug fix in GetReplicaNo() to catch overflows in X and Y.
(on suggestion by S.Stute)
o Made CheckVoxelsFillContainer() visible in public interface.
November 16th, 2007 - G.Cosmo (geomnav-V09-00-12)
-----------------------------
- Cleared compilation warnings for shadowing of variables in classes
within the module.
November 14th, 2007 - G.Cosmo (geomnav-V09-00-11)
-----------------------------
- Reintroduced artificial push in G4ReplicaNavigation::ComputeStep().
Further investigation and eventually reimplementation of LevelLocate()
required to take into account point and direction ...
November 14th, 2007 - G.Cosmo (geomnav-V09-00-10)
-----------------------------
- Trial to remove artificial push in G4ReplicaNavigation::ComputeStep().
- Some minor cleanup.
November 9th, 2007 - J.Apostolakis (geomnav-V09-00-09)
----------------------------------
- G4SafetyHelper: Improved ComputeSafety() not to call G4Navigator
if exactly on safety 'center'.
- G4PathFinder: correction to debug code under #ifdef G4DEBUG_NAVIGATION.
November 9th, 2007 - G.Cosmo (geomnav-V09-00-08)
----------------------------
- Fix in G4ReplicaNavigation::DistanceToOut() for exact classification of
the linear step for Cartesian case.
- Made IdentifyAndPlaceSolid() method inlined in G4ParameterisedNavigation.
- Minor cosmetics and cleanup.
November 6th, 2007 - P.Arce (geomnav-V09-00-07)
---------------------------
- Optimisation in G4RegularNavigation: use voxelBox->DistanceToOut() instead
of ComputeStep() in ComputeStepSkippingEqualMaterials().
- Some cleanup and proper formatting of error/warning messages.
November 2nd, 2007 - J.Apostolakis (geomnav-V09-00-06)
----------------------------------
- Merging fixes in "geomnav-V09-00-03b" and "geomnav-V09-00-03c" on top
of tag "geomnav-V09-00-05".
November 2nd, 2007 - J.Apostolakis (geomnav-V09-00-03c)
----------------------------------
- G4PathFinder:
o Added setting of 'fNoGeometriesLimiting' in DoNextCurvedStep().
o Check to verify that 'fNoGeometriesLimiting' is set by DoNext*Step methods.
o Revised data type of 'fNoGeometriesLimiting' to be a int, so that < 0
shows 'unset'.
- G4PropagatorInField:
o Fixes for compilation of code under G4DEBUG_FIELD (problem report #982).
o Added extra check of method LocateIntersectionPoint() arguments.
- Tag based on "geomnav-V09-00-03b".
October 29th, 2007 - J.Apostolakis (geomnav-V09-00-03b)
----------------------------------
- G4PathFinder: first fix for problem of another process shortening steps
(between calls to ComputeStep by different processes in same step.)
I.e. First call to ComputeStep (geom 1) has proposed Step = 3.0 cm
Next call to ComputeStep (geom 2) has proposed Step = 1.0 cm
(e.g. Multiple Scattering)
- Tag based on "geomnav-V09-00-03a".
October 24th, 2007 - J.Apostolakis (geomnav-V09-00-05)
----------------------------------
- Merging fixes introduced in "geomnav-V09-00-03a" on top of
"geomnav-V09-00-04".
October 24th, 2007 - J.Apostolakis (geomnav-V09-00-03a)
----------------------------------
- G4PathFinder: fix to now set 'fNoGeometriesLimiting' in DoNextLinearStep()
when WhichLimited() is not called, i.e. in case of one navigator
optimisation.
- Tag based on "geomnav-V09-00-03".
October 18th, 2007 - G.Cosmo (geomnav-V09-00-04)
----------------------------
- Added new specific navigation for regular structures and phantoms.
New classes: G4RegularNavigation, G4PhantomParameterisation (by P.Arce).
Added cases to G4Navigator. Added dependency on "materials" module.
October 12th, 2007 - J.Apostolakis (geomnav-V09-00-03)
----------------------------------
- G4PathFinder: added new methods GetNumberGeometriesLimitingStep()
and GetMinimumStep() needed by G4CoupledTransportation to see whether
to relocate.
September 25th, 2007 - G.Cosmo (geomnav-V09-00-02)
------------------------------
- Some code cleanup in G4PathFinder. Switch off additional optimisation
for safety in method DoNextLinearStep().
- Set 'fRecomputeFactor' in G4SafetyHelper to 0.0, to switch off internal
optimisation and allow for reproducibility of steps (A.Howard).
July 12th, 2007 - J.Apostolakis (geomnav-V09-00-01)
-------------------------------
- Restores fixes/improvements of geomnav-V08-03-07
- G4PathFinder: includes fix for result of ObtainSafety(), used in
CoupledTransportation.
July 12th, 2007 - J.Apostolakis (geomnav-V09-00-00)
-------------------------------
- G4PathFinder:
o Include correction to signature of method PrepareNewTrack().
(This was done on a branch for this class in order to keep only
development of geomnav-V08-03-06)
- G4PropagatorInField:
o Included revisions and fixes for G4PropagatorInField of June 8th.
- This tag is based on "geomnav-V08-03-06" and does NOT include the
revisions of "geomnav-V08-03-07".
July 5th, 2007 - G.Cosmo
------------------------
- G4PathFinder:
o Corrected signature to method PrepareNewTrack().
Resolves linking problems detected on SUN-CC platform.
- Changes included in tag "geomnav-V08-03-02c", included in relase 9.0.p01.
June 8th, 2007 - T.Nikitina
---------------------------
- G4PropagatorInField:
o Put in the constructor creation of array of FieldTracks used in
LocateInterSectionPoint().
o Change in ReEstimateNewPoint() in order to handle cases with zero step
caused by diffCurve=0.
o In case of proposed step less than tolerance, now return 'kInfinity'
as per convention of geometry instead of 'DBL_MAX'.
(by J.Apostolakis, May 18th 2007)
- Changes included in tag "geomnav-V08-03-02b", included in release 9.0.
June 5th, 2007 - J.Apostolakis (geomnav-V08-03-07)
------------------------------
- G4PathFinder:
o New method to return the safety sphere last calculated for
a PreStep point (it could be a previous one - due to optimasation).
>> If last step(s) were smaller than safety, then for a linear
track (no field or no charge) Navigator's ComputeSafety is not
called. The older PreStep (previous step or some steps back
in case of many small steps) is stored for this - and provided.
o ComputeStep() still returns current PreStep point's safety (must).
o Revisions are to make this (used by CoupledTransportation) more
compatible with the old direct use of G4Navigator by G4Transportation.
May 29th, 2007 - J.Apostolakis (geomnav-V08-03-06)
------------------------------
- G4Navigator
o Fixed **ComputeSafety**: wrong coordinates used (last tag only).
For certainty reinstated LocateGlobalPointWithinVolume (for now).
o Corrected calculation of fStepEndPoint (in ComputeStep)
for case of step not limited by geometry
- G4PathFinder
o PrepareNewTrack: calls to re-initialise SafetyHelper (reset safety)
o ReLocate: Corrected check of move (avoid one side effect on stored safety)
--> ComputeSafety still results individual navigators' values.
May 24th, 2007 - J.Apostolakis (geomnav-V08-03-05)
------------------------------
- G4PathFinder: 1 correction and 2 optimisations:
o PrepareNewTrack() clear safety - to avoid potential problems in overlaps.
o DoNextLinearStep() only calls ComputeStep() for a navigator whose safety
greater than the step.
o DoNextCurvedStep(), if there's one geometry, no longer calls
ComputeSafety() at start.
- G4Navigator ComputeSafety:
o Corrected it to address use at non-endpoint
o Replaced call to LocateGlobalPointWithinVolume() with calls to
sub-navigators.
May 21st, 2007 - G.Cosmo
------------------------
- Made 'fVerbose' protected in G4Navigator, reused in G4MultipleNavigator.
- Some cleanup in G4MultipleNavigator implementation.
- Make G4PathFinder singleton definition canonical.
- Added method CheckPointExiting() in G4AuxiliaryNavServices utility
class (by P.Arce).
May 19th, 2007 - J.Apostolakis (geomnav-V08-03-04)
------------------------------
- Corrections and additions in G4PathFinder:
1) Added calculation of start-point safety in DoNextCurvedStep
2) Corrected GetCurrentSafety() - uses mininum of 1)
3) Added method to obtain safety of one navigator (after call to all).
4) Deleted obsolete data member 'fMinSafety'.
5) If only one geometry, do not call WhichLimited in DoNextLinearStep (optimisation)
6) ComputeSafety: save the values of isotropic safety for each navigator
May 18th, 2007 - A.Howard (geomnav-V08-03-03)
------------------------
- Fixed return value for G4PathFinder::ComputeStep in case of
step smaller than tolerance (now kInfinity): fixes one PathFinder issue (JA).
- Added compiler flags for verbosity in G4PathFinder.cc
- Added compiler flags for verbosity in G4MultiNavigator.cc
May 18th, 2007 - G.Cosmo (geomnav-V08-03-02)
------------------------
- Use kAngTolerance and kRadTolerance from G4GeometryTolerance class.
- Coworks with tag "global-V08-03-03".
May 16th, 2007 - G.Cosmo (geomnav-V08-03-01)
------------------------
- Introduced new class G4ErrorPropagationNavigator, a specialised navigator
for performing double navigation in the detector geometry and on the
target surface for error propagation (by P.Arce).
- Fixed bug in G4GeomTestSegment in case of TestPoint on the surface,
reducing cases of reported spurious overlaps.
- Coworks with tag "global-V08-03-02".
May 16th, 2007 - J.Apostolakis (geomnav-V08-03-00a)
------------------------------
- Moved to G4PathFinder version without extra prints
April 26th, 2007 - G.Cosmo (geomnav-V08-03-00)
--------------------------
- Use call to G4GeometryTolerance instead of kCarTolerance where needed.
- Revised data members in G4SafetyHelper to conform to convention.
- Requires tag "global-V08-03-00" and related tag set.
April 26th, 2007 - T.Nikitina (geomnav-V08-02-03)
-----------------------------
- 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.
April 20th, 2007 - G.Cosmo (geomnav-V08-02-02)
--------------------------
- Some cleanup and minor cosmetics ...
April 12st, 2007 - V.Ivanchenko
-------------------------------
- G4SafetyHelper become a unique class, which can be accessed via
G4TransporationManager. Depending on type of navigation (single
world or multiple navigation) it uses mass navigator or G4PathFinder.
All calls from EM processes to geometry are provided by G4SafetyHelper.
- G4TransportationManager: added G4SafetyHelper.
- G4PathFinder: initialisation of G4SafetyHelper.
- Tagged "geomnav-V08-02-02-beta2".
March 31st, 2007 - J. Apostolakis
---------------------------------
- G4Navigator:
o New method CheckNextStep() makes a trial step, without
changing the state of the Navigator (to be verified).
It is a variant of ComputeStep, whose signature it shares.
- Tagged "geomnav-V08-02-02-beta1".
February 13th, 2007 - J.Apostolakis
-----------------------------------
- G4Navigator:
o Improvement for creating touchable history when located outside world.
Retain whether last point was located outside, and if so call default
TouchableHistory constructor (that initialised world to null).
NOTE: testing found problems with SteppingManager::SetInitialStep()
as the Vertex physical volume was not set. Protection is potentially
required, or bigger issue to be resolved.
Currently, changes in G4Navigator.hh,cc are safe, but the fix in .icc is
temporarly suspended and NOT included.
- Attempted fix created Dec 7th, 2006
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).
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
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
o ComputeStep method signature extended to add volume
o Use G4MultiNavigator for tracking in field.
- G4MultiNavigator:
o 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).