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

Last change on this file since 1337 was 1315, checked in by garnier, 15 years ago

update geant4-09-04-beta-cand-01 interfaces-V09-03-09 vis-V09-03-08

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