source: trunk/source/geometry/volumes/History @ 1199

Last change on this file since 1199 was 921, checked in by garnier, 15 years ago

en test de gl2ps. Problemes de libraries

File size: 39.3 KB
Line 
1$Id: History,v 1.155 2008/11/13 09:35:03 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
20Nov 13th, 2008      G.Cosmo - geomvol-V09-01-03
21- Corrected singleton definition for G4ReflectionFactory.
22- Return 'const G4String&' instead of copy in GetVolumesNameExtension().
23
24Aug 19th, 2008      G.Cosmo - geomvol-V09-01-02
25- Restored names of methods DumpInfo() to G4LogicalSkinSurface and
26  G4LogicalBorderSurface.
27
28Jul 16th, 2008      P.Gumplinger - geomvol-V09-01-01
29- Change the name of the method DumpInfo() to DumpTableInfo()
30  in G4LogicalSkinSurface and G4LogicalBorderSurface.
31
32Feb 4th, 2008       I.Hrivnacova - geomvol-V09-01-00
33- Fixed problem of double-deletion of rotation matrix in destructor
34  of G4AssemblyVolume.
35
36Nov 16th, 2007      G.Cosmo - geomvol-V09-00-01
37- Added inline specification to methods in G4AssemblyTriplet class.
38
39Oct 12th, 2007      P.Gumplinger - geomvol-V09-00-00
40- Minor cleanup: moved typedef to begin of include files and rename to
41  theSkinSurfaceTable in G4LogicalBorderSurface and G4LogicalSkinSurface classes.
42- Added explicit initialisation of first volume entry to zero in
43  G4TouchableHistory constructor, to ensure correct behavior for 'out-of-world'
44  touchable handle. (J.Apostolakis)
45
46May 11th, 2007      G.Cosmo - geomvol-V08-03-00
47- Use call to G4GeometryTolerance instead of kCarTolerance in
48  G4ReflectionFactory.
49- Requires tag "global-V08-03-00" and related tag set.
50
51Apr 11th, 2007      G.Cosmo - geomvol-V08-02-02
52- More extensions to the CheckOverlaps() algorithm:
53  o Added possibility to define a tolerance for reporting overlaps; added
54    new argument to signature, by default tolerance is set to zero.
55  o Optimised implementation for detecting daughter volumes which are
56    totally overlapping.
57  o Added check on current volume to optimise and correctly handle the
58    case of explicit call of the method when geometry is constructed.
59
60Mar 23rd, 2007      G.Cosmo - geomvol-V08-02-01
61- Extended CheckOverlaps() algorithm, detect also cases of daughter volumes
62  which are totally overlapping. Made warning message message more clear.
63
64Jan 31st, 2007      G.Cosmo - geomvol-V08-02-00
65- Added flag for controlling verbosity to CheckOverlaps() method for
66  G4PVPlacement and G4PVParameterised. By default, verbosity is ON.
67- Requires tag "geommng-V08-02-00".
68
69Nov 10th, 2006      G.Cosmo - geomvol-V08-01-00
70- Use 'direct' rotation/translation instead of 'frame' rotation/translation
71  in concrete CheckOverlaps() method of G4PVPlacement and G4PVParameterised
72  volumes. Fixes a problem reported for wrong transformation associated
73  to overlap-check in displaced boolean solids (V.Grichine).
74- Updated unit test 'testG4NavigationHistory': added test for NULL
75  navigation-history (J.Apostolakis).
76
77May 5th, 2006       G.Cosmo - geomvol-V08-00-04
78- G4AssemblyVolume:
79  o Corrected decomposition of transformation in G4AssemblyVolume.
80  o Added methods GetVolumesIterator() and TotalImprintedVolumes() for
81    accessing the list of physical-volumes imprinted
82  o Cleaned up comments and descriptions.
83- Corrected conditions for overlap check in G4PVPlacement constructors.
84
85May 2nd, 2006       G.Cosmo - geomvol-V08-00-03
86- G4AssemblyVolume: now G4AssemblyVolume can support assembly of assemblies
87  and reflections. Reviewed and modified MakeImprint() methods to act
88  recursively (kind contribution of I.Hrivnacova).
89- Extended overlaps check also for reflection of placements.
90- Moved G4AssemblyTriplet class from 'management' module.
91- Protect against checking overlaps on world volume placement ...
92- Requires tag "geommng-V08-00-04".
93
94Apr 4th, 2006       G.Cosmo - geomvol-V08-00-02
95- Moved G4VNestedParameterisation and G4VVolumeMaterialScanner classes to
96  'management' module, to support material scanning in G4Region.
97- Requires tag "geommng-V08-00-01".
98
99Mar 15th, 2006      G.Cosmo - geomvol-V08-00-01
100- G4AssemblyVolume: added default boolean argument to MakeImprint()
101  methods to allow for optional check for overlaps of constituent volumes.
102
103Dec 20th, 2005      G.Cosmo - geomvol-V08-00-00
104- G4AssemblyVolume: fixed initialisation of names for placed volumes
105  which was corrupted after migration to <sstream> as side effect.
106
107Nov 24th, 2005      J. Apostolakis - geomvol-V07-01-05
108- Revised implementation of G4VNestedParameterisation,
109  taking out use of G4PhysicalTouchable.
110- Added implementations of virtual methods to identify materials
111  for nested parameterisations.
112- Removed G4PhysicalTouchable helper class.
113
114Nov 16th, 2005      J. Apostolakis - geomvol-V07-01-04
115- Corrections to tag below:
116  o Fixed G4PVPlacement's IsRegularStructure() method.
117  o Added missing methods for regular-structures to G4PhysicalTouchable.
118
119Nov 11th, 2005      J. Apostolakis - geomvol-V07-01-03
120- Added methods to identify regular structures in physical-volume derived
121  classes (replicas, parameterised volumes, placements).
122  New virtual methods implemented:
123   - IsRegularStructure()     [from G4VPhysicalVolume, defined in Replica]
124   - GetRegularStructureId()
125  Note that G4PVPlacement always return 'false' and 0 respectively.
126  New method defined for Replicas:
127   - SetRegularStructureId()  virtual
128
129Nov 9th, 2005       G. Cosmo - geomvol-V07-01-02
130- Added fake default constructor for concrete types of volumes (placements,
131  parameterised and replica), for usage of direct object persistency.
132- Implemented migration to <sstream> for affected classes: G4AssemblyVolume.
133
134Oct 19th, 2005      G. Cosmo - geomvol-V07-01-01
135- Introduced first implementation for optional check of overlaps at
136  construction to G4PVPlacement and G4PVParameterised volumes. Default
137  resolution of 1000 points is defined for the check.
138  The check is disabled by default.
139- Introduced method CheckOverlaps(p) for placements and parameterised
140  volumes. The resolution for the check can be specified providing the
141  number of points wished to be generated.
142- Updated unit test for G4ReflectedSolid.
143
144Jul 25th, 2005      G. Cosmo - geomvol-V07-01-00
145- Cleanup and fixes in use of inline methods in G4VNestedParameterisation
146  and G4PhysicalTouchable.
147
148Jun 14th, 2005      J. Apostolakis - geomvol-V07-00-01
149- Added G4VNestedParameterisation with ability to use parent information
150  to compute/change material.
151- Added G4PhysicalTouchable class to enable this type of parameterisation.
152  This class is an implementation class only, and its name especially
153  and potentially other aspect is/are likely to be changed.   
154  ---> A revision of the interface of G4VPVParamerisation can provide this
155       capability in future, in a simpler way.
156  This tag coworks with "geomnav-V07-00-00".
157
158Jun 6th, 2005       G. Cosmo - geomvol-V07-00-00
159- Moved constructors/destructors and operators for G4NavigationLevelRep
160  and G4NavigationLevel to .cc file and not inlined.
161
162Dec 2nd, 2004       G. Cosmo - geomvol-V06-02-01
163- Implemented migration to <cmath> for standard mathematical functions.
164
165Sep 7th, 2004       G. Cosmo - geomvol-V06-02-00
166- G4ReflectionFactory.cc: added automatic reflection for visualization
167  attributes, biasing weights and regions associated to the logical volume.
168
169Jun 9th, 2004       G. Cosmo - geomvol-V06-01-03
170- Adopt G4DLLIMPORT/G4DLLEXPORT technique to handle extern simbols for
171  allowing support of DLLs on Windows.
172- Coworks with "global-V06-01-02b".
173
174Jun 7th, 2004       G. Cosmo - geomvol-V06-01-02
175- Export extern symbols for allowing support of DLLs on Windows.
176  Modified files: G4NavigationLevel.icc, G4NavigationLevelRep.icc.
177- Coworks with "global-V06-01-02a".
178
179May 19th, 2004      G. Cosmo - geomvol-V06-01-01
180- Added CleanSurfaceTable() static methods in G4LogicalBorderSurface and
181  G4LogicalSkinSurface classes for the clearing of the surface tables in
182  case of dynamic geometries (by T.MacPhail).
183
184May 13th, 2004      G. Cosmo - geomvol-V06-01-00
185- Imported G4ReflectionFactory and unit test 'testG4ReflectedSolid' from
186  module "solids/Boolean".
187- Enhanced G4ReflectionFactory to support reflection of divided volumes
188  (courtesy of I.Hrivnacova). Added Divide(...) set of methods.
189- Coworks with tags: geommng-V06-01-00, geomdiv-V06-01-00 and
190                     geom-bool-V06-01-00.
191
192March 4th, 2004     G. Cosmo - geomvol-V06-00-01
193- G4NavigationHistory.icc: fixed bug in NewLevel() causing segmentation
194  violation for cases of geometry with deep nested levels. Fixes problem
195  report #597. (Thanks to A.Zoglauer who reported this)
196
197January 19th, 2004  G. Cosmo - geomvol-V06-00-00
198- G4AssemblyVolume.cc: fixed initial value for 'numberOfDaughters' of
199  imprinted volumes copy-numbers. Fixes problem report #566.
200
201December 5th, 2003  G. Cosmo - geomvol-V05-02-08
202- G4TouchableHistory.cc: added initialisation of allocators for navigation
203  levels, moved from G4TransportationManager, where they were introduced
204  as workaround for solving static initialisation a long time ago.
205
206December 4th, 2003  G. Cosmo - geomvol-V05-02-07
207- G4NavigationHistory[.icc.cc]: fixed redundant calls and initialisations.
208- G4NavigationLevel.icc, G4NavigationLevelRep.icc: fixed implementation of
209  operator=() for inlining.
210
211December 1st, 2003  G. Cosmo - geomvol-V05-02-06
212- G4LogicalBorderSurface[.hh.icc.cc], G4LogicalSkinSurface[.hh.icc.cc]:
213  o modified to use G4SurfaceProperty instead of G4OpticalSurface.
214    Requires tag "materials-V05-02-00".
215    Requires tag "geommng-V05-02-05".
216- Updated unit tests to use derived navigator.
217
218November 17th, 2003  G. Cosmo - geomvol-V05-02-05
219- Added protection to placement and replica constructors for cases
220  where a volume is placed inside itself.
221
222November 10th, 2003  G. Cosmo - geomvol-V05-02-04
223- Migrated unit tests to new G4Navigator interface.
224
225November 2nd, 2003  G. Cosmo - geomvol-V05-02-03
226- Code cleanup and headers inclusion review (replaced by forward
227  declarations where necessary).
228
229October 23rd, 2003  G. Cosmo - geomvol-V05-02-02
230- Migrated calls to G4Exception to new scheme.
231
232September 30th, 2003  G. Cosmo - geomvol-V05-02-01
233- Logical reorganisation and restructure of modules.
234  Moved files to geometry/management:
235    G4BlockingList[.hh.icc.cc]
236    G4IdentityTrajectoryFilter[.hh.cc]
237    G4VCurvedTrajectoryFilter[.hh.cc]
238  Moved files to new module geometry/navigation:
239    G4AuxiliaryNavServices[.hh.icc.cc]
240    G4GeometryMessenger[.hh.cc]
241    G4Navigator[.hh.icc.cc]
242    G4NormalNavigation[.hh.icc.cc]
243    G4ParameterisedNavigation[.hh.icc.cc]
244    G4PropagatorInField[.hh.icc.cc]
245    G4ReplicaNavigation[.hh.icc.cc]
246    G4TransportationManager[.hh.icc.cc]
247    G4VoxelNavigation[.hh.icc.cc]
248  Imported files from geometry/management:
249    G4AssemblyVolume[.hh.icc.cc]
250    G4PVParameterised[.hh.cc]
251    G4PVPlacement[.hh.cc]
252    G4PVReplica[.hh.cc]
253- Removed implementation of method Setup() and updated initialisation of
254  data, according to changes in the base class G4VPhysicalVolume.
255  Affected classes: G4PVPlacement, G4PVReplica.
256- Updated GNUmakefile in test directory.
257
258September 12th, 2003  J. Apostolakis - geomvol-V05-02-00
259- G4PropagatorInField.cc:
260  o Made optional the printing of information on 'looping' particles.
261    It is now controlled by the verbose flag.
262    Addresses CMS request in problem report #509.
263
264June 25th, 2003     G. Folger - geomvol-V05-01-04
265- Added disclaimer of liability where needed.
266
267June 21st, 2003     J. Apostolakis - geomvol-V05-01-03
268- G4PropagatorInField (the tag requires "field-V05-01-05"):
269  Likeliest to cause effect on Users is this:
270  *************************************************************************
271  * Changed default value of "maximum step count" to 1,000 (from 10,000)  *
272  *   --> this may cause more particles to be recognised to loop earlier, *
273  *          as this parameter controls this too.                         *
274  *************************************************************************
275  Also neccessary fixes and improvements:
276   1) Added new method FindAndSetFieldManager() to find the current field manager
277        and set it for the Propagator.
278   2) Added new method SetDetectorFieldManager(),
279         so as to have it updated when the global field manager is changed.
280   3) Added new state variable to insure that the current field Manager
281         has been set for the current step
282      The flag ensures that the method FindAndSetFieldManager() is always
283      called once for each call to ComputeStep().
284 - G4TransportationManager: corrected the method SetFieldManager().
285   It now messages the current global PropagatorInField to notify it
286 - Changes from "g4std" to <std> incorporated.
287
288May 26th, 2003      J. Apostolakis - geomvol-V05-01-02
289- G4PropagatorInField:  use safety in G4PropagatorInField.
290    (Adds to the state of this class).
291  Reinstates the changes in "geomvol-V04-01-08"
292
293May 20th, 2003      G. Cosmo - geomvol-V05-01-01
294- G4GeometryMessenger[.hh.cc]:
295  o Added new commands for controlling geometry overlaps: added recursion
296    to line_test and cylinder_test; added possibility to customise the
297    resolution and shape of grid/cylinder for the test; added ability to
298    select depth of recursion in the geometry tree.
299  o Added explicit call to OpenGeometry() in method CheckGeometry() to
300    force cleanup of voxelisation when command navigator/reset is called.
301- Coworks with tag "geomver-V05-01-00" for geometry/verification.
302- Does NOT include changes in "geomvol-V04-01-08".
303
304May 8th, 2003       G. Cosmo - geomvol-V05-01-00
305- G4PropagatorInField.cc: fix in ComputeStep() to avoid step computation
306  if proposed step length is too small (less than kCarTolerance).
307  Fixes problem report #485.
308- Does NOT include changes in "geomvol-V04-01-08".
309
310Mar 31st, 2003      G. Cosmo - geomvol-V05-00-03
311- Fixed trivial strict pedantic warnings.
312- Does NOT include changes in "geomvol-V04-01-08".
313
314Mar 17th, 2003      G. Cosmo - geomvol-V05-00-02
315- G4Navigator[.hh.cc]: added 'inline' specifier in declaration of
316  method LocateGlobalPointAndUpdateTouchableHandle().
317  Removed redundant calculation of localPoint in method
318  LocateGlobalPointWithinVolume()
319- G4GeometryMessenger[.hh.cc]: added UI command for setting navigator
320  verbosity at run-time (/geometry/navigator/verbose [n], n in [0..4]).
321- G4ReplicaNavigation.icc: fixed debug statement in VoxelLocate().
322- G4VoxelNavigation.cc: fixed debug statement in destructor.
323- Does NOT include changes in "geomvol-V04-01-08".
324
325Mar 5th, 2003       G. Cosmo - geomvol-V05-00-01
326- G4NavigationHistory.icc: fix in  methods Clear() and SetFirstEntry().
327  Correctly initialise navigation levels. Resolves discrepancy in the
328  copy number assigned to the world volume, if retrieved through the
329  touchable or explicitely through the physical volume.
330- Does NOT include changes in "geomvol-V04-01-08".
331
332Feb 6th, 2003       G. Cosmo - geomvol-V05-00-00
333- Fix in G4GeometryMessenger to check for geometry closed when commands
334  are applied. Command /geometry/navigator/reset and test commands apply
335  only when system is in "Idle" state.
336- G4VCurvedTrajectoryFilter[.hh.cc]: fixed initialisation of data member
337  in constructor. Fixed comments layout for Software Reference Manual.
338- G4IdentityTrajectoryFilter[.hh.cc]: fixed comments layout for
339  Software Reference Manual.
340- Does NOT include changes in "geomvol-V04-01-08".
341
342Nov 30th, 2002      S. Sadilov - geomvol-V04-01-09
343- Small correction on the top of "geomvol-V04-01-07a" in files:
344    G4IdentityTrajectoryFilter.cc
345    G4VCurvedTrajectoryFilter.cc
346  to fix cout/G4cout, endl/G4endl mistakes.
347- Does NOT include changes in "geomvol-V04-01-08".
348
349Nov 29th, 2002      J. Apostolakis - geomvol-V04-01-08
350- G4PropagatorInField:  use safety in G4PropagatorInField.
351    (Adds to the state of this class).
352
353Nov 29th, 2002      S. Sadilov - geomvol-V04-01-07a
354- Minor corrections (cout/G4cout, endl/G4endl) to files
355  G4IdentityTrajectoryFilter.cc G4VCurvedTrajectoryFilter.cc
356
357Nov 27th, 2002      G. Cosmo - geomvol-V04-01-07
358- G4BlockingList.cc: fixed initialisation of fBlockTagNo to 1.
359  Fixes warnings reported by Valgrind to G4BlockingList, G4VoxelNavigation
360  and G4ParameterisedNavigation.
361
362Nov 19th, 2002      J. Generowicz - geomvol-V04-01-06
363- Created G4IdentityTrajectoryFilter, making G4VCurvedTrajectoryFliter
364  truly abstract.
365
366Nov 8th, 2002       J. Generowicz
367- Introduced G4VCurvedTrajectoryFilter, and gave PIF means of
368  manipulating and communicating with it.
369
370Oct 29th, 2002       J. Apostolakis - geomvol-V04-01-05
371- G4PropagatorInField
372  Re-introduced memory of Charge Mass and Momentum into PropagatorInField,
373  in order for it to message the correct ChordFinder at each step with this
374  information.  It now does this task.
375
376Aug  6th, 2002       G. Cosmo - geomvol-V04-01-04
377- Formatting cleanup in source implementation files.
378
379Jul 29th, 2002       G. Cosmo - geomvol-V04-01-03
380- G4PropagatorInField[.hh.icc.cc]:
381  Restored call to GetChordFinder()->SetChargeMomentumMass() in method
382  SetChargeMomentumMass(), as was originally in release 4.1.
383  All modifications introduced in tag "geomvol-V04-00-11" have now been removed.
384
385Jul 29th, 2002       G. Cosmo - geomvol-V04-01-02
386- G4PropagatorInField.cc:  (J.Apostolakis)
387  o Restored ComputeStep() as it was before tag "geomvol-V04-00-11", by
388    removing call to GetChordFinder()->SetChargeMomentumMass().
389    This call was responsible for failure of unit tests, where no field strength
390    was observed in some cases.
391  o Set 'fNoZeroStep' to zero if (fNoZeroStep > fAbandonThreshold_NoZeroSteps)
392    at the end of ComputeStep(). Fixes problem report from P.M.DeFreitas
393    occurring in Mokka (Tesla), when reading primaries from their Pythia files.
394- G4PropagatorInField[.hh.cc]:
395  o Removed not-implemented constructor taking G4Navigator* as argument.
396  o Get rid of static const data for default epsilonStep size.
397  o Initialise all data members in constructor !
398  o Code cleanup.
399
400Jul 24th, 2002       G. Cosmo - geomvol-V04-01-01
401- Removed static initialisations of data of G4FieldManager.
402  Coworks with tag "field-V04-01-01".
403
404Jul 23rd, 2002       G. Cosmo - geomvol-V04-01-00
405- Some code cleanup and cosmetics...
406
407Jun 18th, 2002       J. Apostolakis - geomvol-V04-00-11
408- G4PropagatorInField.cc
409  o Fix for messaging incorrect ChordFinder with Mass, Charge, Momentum.
410   ( Problem seen for multiple FieldManagers - reported by Grahame Blair )
411
412Jun 13th, 2002       J. Apostolakis - geomvol-V04-00-10
413- G4Navigator.cc
414  o Fix for navigation problem (dereference null volume pointer) in exampleN05
415     caused by ExitNormal fix.
416
417Jun  3rd, 2002       G. Cosmo - geomvol-V04-00-09
418- G4Navigator[.hh.icc.cc]:
419  o Cosmetics for Software Reference Manual and formatting.
420  o Fixed few cases of endl/G4endl mystypes...
421
422May 31st, 2002      J. Apostolakis - geomvol-V04-00-08
423- G4Navigator.cc:
424  o Corrections for problem report #351, #284 concerning ExitNormal:
425     - using Daugther's solid preferentially (if applicable)
426     - adjusting fEntering/fEnteredDaugther in LocateGlobalPointAndSetup
427         to enable this
428     - correcting location of point for which exit normal is requested
429         for 'non-convex point' on solid boundary
430  Thanks to Bryan Tipton (tipton@krl.caltech.edu),
431            Antonis Papanestis (antonis.papanestis@cern.ch)
432       and  Peter Gumplinger for their demonstrations of the delicate problem.
433
434May 15th, 2002      G. Cosmo - geomvol-V04-00-07
435- G4ParameterisedNavigation:
436  o Introduced 3D voxelisation technique for parameterised volumes with
437    unspecified axis. Changed to become subclass of G4VoxelNavigation and
438    adopt the same voxel location algorithms for optimised navigation.
439- G4VoxelNavigation:
440  o Changed to become base class for optimised navigation.
441  o Cosmetics and reformatting.
442- G4NormalNavigation.icc, G4ReplicaNavigation.icc, G4VoxelNavigation.icc:
443  o Minor optimisations.
444  o Cosmetics and reformatting.
445- G4Navigator.cc:
446  o Invoke specific VoxelLocate call for parameterised navigation.
447- Co-works with "global-V04-00-06" and "geommng-V04-00-05".
448
449Apr 19th, 2002      G. Cosmo - geomvol-V04-00-06
450- Moved inline constructors and destructors to no inline.
451  Affected files: G4BlockingList[.icc,cc], G4NavigationHistory[.icc,.cc],
452                  G4PropagatorInField[.hh.icc.cc].
453
454Apr 3rd, 2002       G. Cosmo - geomvol-V04-00-05
455- G4GeometryMessenger[.hh.cc]: added new commands to exploit more features of the
456  G4GeomTestVolume class for detecting geometry overlaps:
457  o /geometry/test/grid_test - runs the default grid test, same as "run".
458  o /geometry/test/recursive_test - runs the grid test in recursive mode.
459  o /geometry/test/cylinder_test - to shoot lines in a cylindrical pattern.
460  o /geometry/test/line_test - to shoot a line according to position and direction.
461
462Mar 22nd, 2002       J. Apostolakis - geomvol-V04-00-04
463- G4PropagatorInField: added Set/Get methods for MaximumEpsilonStep
464
465Feb 20th, 2002       G. Cosmo - geomvol-V04-00-03
466- G4GeometryMessenger.cc: fixed local variable name not to clash with
467  class data member.
468
469Jan 21st, 2002       J. Apostolakis - geomvol-V04-00-02
470- G4Navigator: reset blocked volume when locating 'within volume',
471    after ensuring that it does not get called when
472    ComputeSafety() is at a boundary.
473   --> Fix for cases of longstanding 'Point P is Inside' errors.
474
475Jan 10th, 2002       G. Cosmo - geomvol-V04-00-01
476- Activated mechanism in GNUmakefile for allowing compilation with
477  G4DEBUG_FIELD or G4DEBUG_NAVIGATION flags. Replaced DEBUG with
478  G4DEBUG_NAVIGATION in G4Navigator.cc.
479
480Jan  8th, 2002       J. Apostolakis - geomvol-V04-00-00
481- G4AuxiliaryNavServices
482  o Fixed it so that it only considers whether a (Point,Direction) 'ray' if
483    it is on the surface (it was mistakenly also checking those inside, and
484    rejecting them.)
485    [ This erroneous condition occurred frequently in the new usage of Locate
486      with Direction to initialise a step. 
487      It's unclear if it occurred also at other times.]
488
489Jan 8th, 2002        G. Cosmo
490- Fixed compilation problems and warnings on unit tests.
491  (G.Cosmo, R.Chytracek)
492
493Dec 11th, 2001       G. Cosmo - geomvol-V03-02-08
494- G4Navigator:
495  o Added kNormal and Copy Number to NewLevel (Navigation Level) for
496    Normal Navigation
497    Now all TouchableHistory objects should have a valid entry in ReplicaNumber:
498    - in the case of a placement volume it will be the copy number
499    - in replicated volumes it will be the replica number
500  o Commented out fix introduced in geomvol-V03-02-05.
501
502Dec 11th, 2001       J. Apostolakis - geomvol-V03-02-07
503- G4Navigator:
504  o Undoing the fix in geomvol-V03-02-05 -- because of problems in
505    several tests (mostly large N tests).
506    ----> Must resolve these !! <----
507
508Dec  8th, 2001       J. Apostolakis - geomvol-V03-02-06
509- G4PropagatorInField:
510  o additional thresholds for No of steps, + get/Set methods
511  o Modified choice of subsequent step size in case of Zero step
512    - decrease quickly at first to try to ensure that the first/second
513      "re-steps" are enough in most cases.
514    - utilise addition threshold parameters (for # of steps)
515      to slow down the rate of decrease of the step size
516      for the 'difficult' cases which do not converse after
517      a few steps.                           
518
519Dec  6th, 2001       J. Apostolakis - geomvol-V03-02-05
520- G4Navigator:
521  Fix for Locate Global Point Within Volume: clear state
522  variables (that had erroneously been forgotten).
523
524Dec  6th, 2001       R. Chytracek - geomvol-V03-02-04
525- G4Navigator:
526  o Fixed mirroring of the input argument for global direction into
527    local variable in LocateGlobalPointAndSetup().
528  o Cosmetics for the Software Reference Manual in .hh file.
529
530Dec  4th, 2001       J. Apostolakis - geomvol-V03-02-03
531- G4Navigator:
532  o Modified the interface
533    - creating a new ResetState method (that only reset state - not stack)
534    - adding a new optional argument to LocateGlobalPointAndSetup method
535    - adding direction argument to LGPAS w/ touchable history
536  o Modified the implementation
537    - to reset its state when touchable history is used to re-initialise it
538    - to use the direction in LocateGlobalPointAndSetup methods!
539- G4PropagatorInField:
540  o Added use of new Largest Acceptable Step data member.
541  o Protected, in reseting of Proposed Step length, against
542    making it bigger in cases where several zero steps seen.
543  o Several debugging prints added. (only in G4Verbose, ...)
544
545Nov 28th, 2001       J. Apostolakis - geomvol-V03-02-02
546- Added GetCurrentFieldManager method to PropagatorInField
547- Incorporates additions seen in "geomvol-V03-02-00a/b/c"
548   and in "geomvol-V03-02-01".
549- This tag is required by the new tag "transport-V03-02-06" in Transportation.
550
551Oct 18th, 2001       J. Apostolakis - geomvol-V03-02-01
552- Added a new 'maximum' epsilon value in G4PropagatorInField,
553  as some ill-conditions appear to be due to large proposed relative errors.
554  NOTE: does NOT include changes in "geomvol-V03-02-00a/b/c".
555
556Nov 8th, 2001        G. Cosmo - geomvol-V03-02-00c
557- Added handles for reference counting: G4GRSSolidHandle, G4GRSVolumeHandle,
558  G4TouchableHistoryHandle.
559- Modified G4Navigator for reference counted touchables. Introduced new methods
560  CreateTouchableHistoryHandle() and LocateGlobalPointAndUpdateTouchableHandle(...).
561- New unit tests testG4ParameterisedMaterial.cc and testG4TouchableHandle.cc.
562
563Nov 1st, 2001        G. Cosmo - geomvol-V03-02-00b
564- G4GeometryMessenger.cc: fixed definition of unit category for tolerance.
565
566Oct 24th, 2001       G. Cosmo - geomvol-V03-02-00a
567- Moved G4GeomTestMessenger from geometry/verification to geometry/volumes.
568  Renamed to G4GeometryMessenger.
569- GeometryMessenger: renamed directory to geometry/test. Added directory
570                     geometry/navigator. Added geometry/navigator/reset command
571                     for resetting navigation history and position.
572- G4PropagatorInField.icc: fixed warning on Linux-g++....
573
574Oct 18th, 2001       J. Apostolakis - geomvol-V03-02-00
575- Corrected the initialisation of fEpsilonMin in G4PropagatorInField
576   constructor, which was forgotten.
577
578May 31st, 2001       G. Cosmo - geomvol-V03-01-08
579- Fixed usage of 'fabs', which belongs to global scope, NOT in std
580  namespace. Detected by compilation error on DEC ISO/ANSI setup.
581- G4VoxelNavigation.icc: initialised data-member in initialiser list of
582  constructor with explicit initialisation to dummy values to allow porting
583  on ObjecSpace STL.
584
585May 23rd, 2001       J. Apostolakis - geomvol-V03-01-07
586- Added methods to Set the minimum epsilon (relative accuracy) to
587  Propagator In Field.
588
589May 23rd, 2001       J. Apostolakis - geomvol-V03-01-06
590- Added new parameter to Propagator In Field,
591  fEpsilonMin which is the minimal relative accuracy for MF driving.
592
593May 23rd, 2001       J. Apostolakis - geomvol-V03-01-05
594- Moved Delta Intersection and One Step from PropagatorInField to Field Manager.
595- Modified G4TransportationManager.cc to initialise default values accordingly.
596  (Incorporating changes into a tag, finally, after fix to G4FieldManager
597  constructors. )
598o This tag requires and co-works with field-V03-01-01.
599  This now ENABLES the use of different Field Managers for different parts of
600  the detector.  First implementation allows a volume that has a field
601  manager to override the global one. 
602  Note: All field managers currently must refer to fields in global coordinates
603o New ability: to set the delta accuracy parameters differently in different
604  volumes (even while maintaining the same field as the global one!). 
605
606May 23rd, 2001       G. Cosmo - geomvol-V03-01-04
607- Fixes in G4ReplicaNavigation for bug reports #253 and #254:
608  o in VoxelLocate(...), treated particular case of rotational symmetry
609    with extent over 360 degrees (courtesy of H.Boie).
610  o in DistanceToOutPhi(...), fix to correctly handle cases where the
611    starting point is on boundary of replicas and direction is along boundary.
612
613May 15th, 2001       G. Cosmo - geomvol-V03-01-03
614- G4AuxiliaryNavServices::CheckPointOnSurface(): added additional check to resolve
615  endless looping of G4Navigator in case the track is passing through a point, edge
616  or surface shared by two solids.
617  This problem occured when G4Navigator was trying to transport a particle when
618  exiting a solid. Transportation will now perform a few zero steps and continues
619  stepping instead of looping around the same point. Fixes problem report #185.
620
621April 27th, 2001     G. Cosmo - geomvol-V03-01-02
622- G4VoxelNavigation.icc: fixed compilation warnings on HP-UX, concerning
623  potential uninitialised vector elements.
624
625April 20th, 2001     G. Cosmo - geomvol-V03-01-01
626- Updated unit tests to conform to recent STL vector migration.
627
628April 17th, 2001     G. Cosmo - geomvol-V03-01-00
629- Migration to STL vector:
630  o Modified classes:
631    G4VoxelNavigation, G4NavigationHistory, G4BlockingList,
632    G4LogicalSkinSurface, G4LogicalBorderSurface.
633  o Removed GetIndex() and table-index data from G4LogicalSkinSurface
634    and G4LogicalBorderSurface.
635
636March 19th, 2001     J. Apostolakis - geomvol-V03-00-03
637- G4PropagatorInField:
638     Modified to use new (not obsolete) methods of G4FieldTrack.
639     Deleted old/obsolete ComputeStep method
640         (that was being used only for testing purposes, but
641          could not be used anymore after change to Momentum Integration.)
642
643March 12th, 2001     G. Cosmo - geomvol-V03-00-02
644- G4ReplicaNavigation::ComputeStep(): apply push of kCarTolerance to ourStep
645  in case the proposed step is zero.
646
647February 23rd, 2001  G. Cosmo - geomvol-V03-00-01
648- Restored original 0.5 shift for kPhi transformation in ComputeTransformation()
649  methods, as original specifications from P.Kent impose.
650- Fixed bug in ComputeTransformation(const G4int rNo, G4VPhysicalVolume* pVol)
651  where 'pVol' was NOT passed to SetPhiTransformation() in the kPhi case (!).
652
653February 15th, 2001  G. Cosmo - geomvol-V03-00-00
654
655- Fix in G4ReplicaNavigation::ComputeTransformation(...) for kPhi case.
656  Removed shift of 0.5 to center of replica volume to conform with original
657  specifications for replica transformations in Phi.
658- Cosmetics in G4ReplicaNavigation.cc.
659
660November 20th, 2000  G. Cosmo - geomvol-V02-00-01
661
662- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options:
663  o commented out variables declared and not used.
664  o fixed declaration of variables used before being initialised.
665  o fixed order of initialisation of member data in constructors.
666  o fixed usage of unsigned-int (size_t) for array indeces.
667
668November 1st, 2000   G. Cosmo - geomvol-V02-00-00
669
670- QA code revision and cleanup (+fixes from CodeWizard filtering):
671  o Added (private) copy constructor and assignment operator where needed.
672  o Added "const" qualifier to accessor methods, wherever needed.
673  o Added equality check on operator= where needed.
674  o Made destructor "virtual" for classes having virtual methods,
675    wherever missing.
676  o Changed virtual functions to non-inline wherever's the case.
677  o Changed return value to be "const" pointer to functions:
678    - G4LogicalBorderSurface::GetVolume1()
679    - G4LogicalBorderSurface::GetVolume2()
680    - G4LogicalSkinSurface::GetLogicalVolume()
681  o G4NavigationHistory: moved kHistoryMax and kHistoryStride to
682    geomdefs.hh and made static constants. Reorganised comments.
683  o G4VoxelNavigation: moved kNavigatorVoxelStackMax in geomdefs.hh.
684    Changed "do-loops" with "while-loops" where convenient.
685  o Added "inline" qualifier to methods' declarations.
686  o General cosmetics
687
688June     2nd, 2000  J. Apostolakis - geomvol-V01-01-02
689
690include/G4PropagatorInField.hh,icc
691  o Moved Delta Intersection and Delta One Step to FieldManager
692     (from Propagator in Field),  to allow them to differ over the detector.
693
694G4TransportationManager.cc
695  o Changed static variable for above (default values).
696
697
698May     17th, 2000   G. Cosmo - geomvol-V01-01-01
699
700G4ReplicaNavigation.cc:
701- Added check to returned safety value in DistanceToOut(). Zero is
702  returned if the computed velue is less than kCarTolerance.
703- Introduced temporary fix to ComputeStep() in the first step computation
704  for replica boundaries. 'ourStep' is not set to the computed 'sampleStep'
705  if 'sampleStep' happens to be zero.
706  This fix helps to get rid of infinite loops when a point is on a
707  shared surface of a replica or on a shared vertex; a more definitive
708  solution to the problem is needed for the correct replica location.
709
710May     16th, 2000   J. Apostolakis
711
712G4PropagatorInField[.hh.icc]:
713- Added implementations for SetDeltaOneStep and SetDeltaIntersection.
714
715May      9th, 2000   J. Apostolakis - geomvol-V01-01-00
716
717Improvements in G4PropagatorInField  incorporating include file fixes
718in geometry-V01-01-02
719[ ie: Introduced kCarTolerance for check over taken step length and
720TruePathLength in G4PropagatorInField::ComputeStep(). ]
721
722May      8th, 2000   J. Apostolakis - geomvol-fieldImprove1
723
724Internal tag for version that improves the behavior of the field.
725[ it does not include the changes of geometry-V01-01-02 ]
726
727May      5th, 2000   J. Apostolakis
728
729G4PropagatorInField improvements modifying:
730 i) the comparison for detecting probable loop condition
731      - to accomodate solids that (wrongly) return small finite answer instead
732        of zero for Distance on surface.  [ can probably be reversed eventually]
733ii) the condition for exit from while (sufficient path length) to
734    avoid making a very small final step :  used the tolerance.
735
736April 25th, 2000   G. Cosmo
737
738- Reorganised comments for the Software Reference Manual.
739- Moved inlined definition to .icc files, where needed.
740  Created: G4LogicalBorderSurface.icc and G4LogicalSkinSurface.icc.
741- Removed obsolete G4Transform class. Removed files:
742  G4Transform[.hh.icc].
743
744January 19th, 2000   G. Cosmo - geomvol-V01-00-00
745
746Sycronized files versions with HEAD after ISO-C++ migration.
747(essentially CVS headers changes). Left out only G4Navigator[.hh.cc].
748
749December 2nd, 1999   G. Cosmo - geomvol-V00-01-02
750
751G4TransportationManager: Fixed definition of the singleton to conform
752    to the canonical implementation. Moved default constructor from private
753    to protected and added call to G4Exception in case of multiple instances
754    through derived classes.
755
756November 26th, 1999   J. Apostolakis - geomvol-V00-01-01
757
758G4TouchableHistory: Moved GetTranslation and GetRotation from inline file
759    to source file -- as they use static variables in the methods themselves.
760        --> cannot be handled by new HP aCC compiler
761
762G4PropagatorInField: Initialised fVerboseLevel in constructor. (omision)
763        --> on WinNT 4.0sp4 / VC++ 6.0  it was given value of 1 not 0.
764
765November 10th, 1999   J. Apostolakis - geomvol-01-01-01b
766
767Modified test/GNUmakefile to make it use fully-granular libraries.
768New test code in testG4Volumes for Object/Frame Rotation/Translation.
769
770October  29th, 1999   J. Apostolakis - geomvol-01-01-01a
771
772Moved initialisation of static data members of G4PropagatorInField
773  fDefault_Delta_Intersection_Val
774  fDefault_Delta_One_Step_Value
775to G4TransportationManager.cc, to ensure correct order initialisation
776of static (class) data members
777
778G4PropagatorInField warning message about integration inaccuracy
779now printed (for a maximum of 10 times) and in Verbose.
780
781July     27th, 1999   J. Apostolakis - geomvol-01-01-02
782
783Modified G4Navigator to distinguish Candidate volume from Blocked volume
784
785July     27th, 1999   J. Apostolakis - geomvol-01-01-01
786
787Tagged  --- here ??? ---
788
789July     27th, 1999   J. Apostolakis
790G4PropagatorInField:
791Added instance variables to keep track of "abnormal" case - which caused loop:
792
793  This is induced when a step at a boundary goes into one volume
794    - but in that volume it encounters an intermediate boundary
795      and when the step is subdivided it finds a zero step.
796   Then it looped between the volumes
797
798This is corrected by finding this problem (#subsequent zero steps > threshold)
799and attempting ever smaller trial steps until it succeeds.
800
801->  it was not done for the first step
802
803July     27th, 1999   J. Apostolakis
804
805G4PropagatorInField:
806  Made DeltaIntersection and DeltaOneStep instance variables (not class var.)
807  Added Get/Set methods.   Old  values of are now the defaults.
808
809
810July      1st, 1999   J. Apostolakis - field-01-00-06a
811
812In G4PropagatorInField   --> method LocateIntersectionPoint():
813
814  Integration inaccuracies cause an internal step's mid-point and endpoint
815    to be further apart than their curve length difference.  (Unphysical)
816
817  In order to compensate, we re-compute the step's endpoint.  [ This also
818    requires modification in G4ChordFinder::ApproxCurvePointV  ]
819
820A better solution would be to re-start/re-structure the loop to handle this
821sort of case.   But this would be a more major change ...
822
823May      19, 99      J.Apostolakis, F. Behner
824
825   In G4Navigator: Changed cout -> G4cout
826                   Changed protection for printing of Physical volume name:
827                    (because of warning on SUN;  same functionality)
828
829
830   In G4NavigationLevel, created an optional operator delete(void *, void *)
831    this is accepted by DEC, and not accepted by SUN, HP
832    new flag created in architecture for protection: ~ G4NO_ISO_DELETES
833
834May      17, 99      J. Allison.
835   In G4NavigationLevel, changed operator new(size_t, G4NavigationLevel *)
836   to operator new(size_t, void *) because the former is not accepted
837   by Sun CC 4.2 (with STL Interface.)
838
839May       3, 99      J. Apostolakis
840   testG4ReplicaNavigation.cc
841      Changed comparison of doubles, to give it a tolerance. 
842
843April     8, 99      (committed & recorded J. Apostolakis  May 3rd)
844   G4NavigationLevel.{hh,icc}: Minor Changes
845      added const to copy constructor and
846      new 'new' operator with size_t - for STL use with preallocated containers"
847
848
849March    19, 99      J. Apostolakis        geomvol-01-00-03
850
851   New tag for replica fix.
852
853
854March    18, 99      J. Apostolakis
855
856   A fix for looping in Replicas:
857        In the case where a zero step is done in Replicas, we must allow
858    ReplicaNavigator to handle the case itself - or else we loop.
859
860March    11, 99      J. Apostolakis
861
862   G4GRSVolume.icc: corrected G4Exception messages.
863
864February 18, 99      J. Apostolakis       
865
866 include/G4VoxelNavigation.hh
867 src/G4VoxelNavigation.cc    : overwrote versions 1.2 with production version
868      --->  when changes are refined and retested, they could be reincorporated
869
870February 17, 99      J. Apostolakis        geomvol-01-00-02
871
872 Moved G4PropagatorInField here from magneticfield to remove correct
873  dependency.
874
875February 15, 99      J. Apostolakis        geomvol-01-00-01
876
877   Only fixes in G4Navigator's incorporated.
878   GNUmakefile corrected (for SUN-CC).
879
880January      99,     J. Apostolakis
881
882Fix for ComputeSafety in Navigator:                              G4Navigator.cc
883            the voxel information that was used was incorrect       v 1.3
884                -> it resulted in wrong value of safety
885
886
887December     98                                   geant4-00-RandD
888
889 include/G4VoxelNavigation.hh
890 src/G4VoxelNavigation.cc    : versions 1.2 are trial versions from beta "head"
891
892December     98                                   
893
894Trial fix for navigation in replicas                             G4Navigator.cc
895                                                                    v 1.2
896         (a problem persists with this version)
897
898
899December     98                                   geant4-00
900
901   Code moved: production tag from beta repository.
Note: See TracBrowser for help on using the repository browser.