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

Last change on this file since 831 was 831, checked in by garnier, 16 years ago

import all except CVS

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