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

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

update geant4.9.3 tag

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