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

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

geant4 tag 9.4

File size: 42.0 KB
RevLine 
[1347]1$Id: History,v 1.173 2010/12/15 17:05:06 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
[1347]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
[1315]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
[1228]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
[921]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
[850]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
[831]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.