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

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

geant4 tag 9.4

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