1 | $Id: History,v 1.129.2.1 2008/04/24 12:43:57 gcosmo Exp $ |
---|
2 | ------------------------------------------------------------------- |
---|
3 | |
---|
4 | ========================================================= |
---|
5 | Geant4 - an Object-Oriented Toolkit for Simulation in HEP |
---|
6 | ========================================================= |
---|
7 | |
---|
8 | Category History file |
---|
9 | --------------------- |
---|
10 | This file should be used by G4 developers and category coordinators |
---|
11 | to briefly summarize all major modifications introduced in the code |
---|
12 | and keep track of all category-tags. |
---|
13 | It DOES NOT substitute the CVS log-message one should put at every |
---|
14 | committal in the CVS repository ! |
---|
15 | |
---|
16 | ---------------------------------------------------------- |
---|
17 | * Reverse chronological order (last date on top), please * |
---|
18 | ---------------------------------------------------------- |
---|
19 | |
---|
20 | April 24th, 2008 G.Cosmo - field-V09-00-04 |
---|
21 | -------------------------- |
---|
22 | - Tag for release 9.1.p02. |
---|
23 | |
---|
24 | April 24th, 2008 T.Nikitina - field-V09-01-01 |
---|
25 | ----------------------------- |
---|
26 | - Fix 'unused' non-initialized values of dydx in G4EqMagElectricField |
---|
27 | and G4EqEMFieldWithSpin. |
---|
28 | |
---|
29 | January 17th, 2008 G.Cosmo - field-V09-01-00 |
---|
30 | ---------------------------- |
---|
31 | - G4CashKarpRKF45: deleted un-needed duplicate (and unused) instance variable |
---|
32 | 'fNumberOfVariables', already defined in G4MagIntegratorStepper. (J.Ap.) |
---|
33 | - Some code cleanup. |
---|
34 | |
---|
35 | December 7th, 2007 J.Apostolakis & T.Nikitina - field-V09-00-03 |
---|
36 | ----------------------------------------------- |
---|
37 | - New class G4FieldManagerStore. It enables resetting of all chord |
---|
38 | finders' state. Needed to address problem reported by user. |
---|
39 | |
---|
40 | September 9th, 2007 G.Cosmo - field-V09-00-02a |
---|
41 | ---------------------------- |
---|
42 | - Some code cleanup in G4MagHelicalStepper.cc. |
---|
43 | |
---|
44 | August 30th, 2007 P.Gumplinger - field-V09-00-02 |
---|
45 | --------------------------------- |
---|
46 | - Add G4EqEMFieldWithSpin class to allow tracking of spin also in |
---|
47 | G4ElectroMagneticFields |
---|
48 | |
---|
49 | August 21st, 2007 T.Nikitina - field-V09-00-01 |
---|
50 | ------------------------------- |
---|
51 | - Fix to DistChord() method for Helical Steppers: adopt 'special' case |
---|
52 | also for Ang<2pi not only for Ang<pi; use cos() in place of tan(), to |
---|
53 | improve CPU performance. |
---|
54 | - Improved AdvanceHelix() to be able to make half step and full step |
---|
55 | in one call. |
---|
56 | - In G4HelixMixedStepper added possibility to call different steppers for |
---|
57 | small steps and add some statistics how offen different steppers are called. |
---|
58 | - G4RKG3_Stepper: improved internal algorithm to use pre-computed values; |
---|
59 | the stepper now gives comparable CPU performance as ClassicalRK4. |
---|
60 | - Updated unit tests. |
---|
61 | |
---|
62 | August 17th, 2007 G.Cosmo - field-V09-00-00 |
---|
63 | ---------------------------- |
---|
64 | - Changed FatalException to EventMustBeAborted in AccurateAdvance() |
---|
65 | if proposed integration step is negative. |
---|
66 | |
---|
67 | June 8th, 2007 T.Nikitina - field-V08-03-03 |
---|
68 | ---------------------------- |
---|
69 | - Relaxed FatalException to Warning in G4MagIntegratorDriver::AccurateAdvance() |
---|
70 | for case of step zero and return previous value. This fixes problem |
---|
71 | observed by ATLAS in release 8.3 when requiring very accurate propagation |
---|
72 | -- ie using very small values for acceptable integration error. |
---|
73 | |
---|
74 | May 18th, 2007 T.Nikitina - field-V08-03-02 |
---|
75 | ---------------------------- |
---|
76 | - New class G4HelixMixedStepper, mixing helical stepper and RK |
---|
77 | G4MagHelicalStepper |
---|
78 | - Keep values of inverse Radius, .. |
---|
79 | - New calculation of DistChord for SteppingAngle > pi |
---|
80 | G4RKG3Stepper |
---|
81 | - New calculation of DistChord for SteppingAngle > pi |
---|
82 | |
---|
83 | May 16th, 2007 G.Cosmo - field-V08-03-01 |
---|
84 | ------------------------- |
---|
85 | - Introduced new class G4ErrorMag_UsualEqRhs used to reverse the magnetic |
---|
86 | field when propagation is backwards for error propagation (by P.Arce). |
---|
87 | - Coworks with tag "global-V08-03-02". |
---|
88 | |
---|
89 | May 11th, 2007 G.Cosmo - field-V08-03-00 |
---|
90 | ------------------------- |
---|
91 | - Use call to G4GeometryTolerance instead of kCarTolerance constant in |
---|
92 | G4MagIntegratorDriver. |
---|
93 | - Requires tag "global-V08-03-00" and related tag set. |
---|
94 | |
---|
95 | May 10th, 2007 J.Apostolakis - field-V08-02-01 |
---|
96 | ------------------------------- |
---|
97 | - G4MagIntegratorDriver: |
---|
98 | * added protections against zero initial or internal step h=0, (exceptions) |
---|
99 | * revised (re)calculation of h, and quit loop if h/length < smallest-fraction (~ 10^-12) |
---|
100 | |
---|
101 | April 26th, 2007 T.Nikitina - field-V08-02-00 |
---|
102 | ---------------------------- |
---|
103 | - Corrected integration constants in G4MagHelicalStepper |
---|
104 | - Added implementation of G4RKG3_Stepper, stepper derived from Geant3. |
---|
105 | - Updated NTST unit test. New unit test "field06" for comparison of steppers. |
---|
106 | |
---|
107 | November 14th, 2006 J.Apostolakis - field-V08-01-02 |
---|
108 | ---------------------------------- |
---|
109 | - G4MagIntegratorDriver |
---|
110 | * Made first argument of GetDerivatives a reference - avoid copy |
---|
111 | - G4MagIntegratorStepper |
---|
112 | * Include the SetEquationOfMotion() method in G4MagIntegratorStepper |
---|
113 | (for Geant4e, as in field-V08-01-00) |
---|
114 | * Update of disclaimers. |
---|
115 | |
---|
116 | November 13th, 2006 G.Cosmo - field-V08-01-01 |
---|
117 | ---------------------------- |
---|
118 | - G4FieldTrack: |
---|
119 | o Implemented missing definition for GetCharge(). |
---|
120 | o Corrected 'const' qualifier for accessors in the subclass. |
---|
121 | o Cleanup ... |
---|
122 | - NOTE: this tag is NOT including the change below in G4MagIntegratorStepper. |
---|
123 | |
---|
124 | June 21st, 2006 J.Apostolakis - field-V08-01-00 |
---|
125 | ------------------------------ |
---|
126 | - Including the SetEquationOfMotion() method in G4MagIntegratorStepper |
---|
127 | |
---|
128 | June 22nd, 2006 J.Apostolakis - field-V08-00-07 |
---|
129 | ----------------------------- |
---|
130 | - G4ExactHelixStepper: reintroduced corrected class |
---|
131 | --> testPropagateMagField now tests it also (added) |
---|
132 | - G4MagHelicalStepper: made Stepper virtual (for now) |
---|
133 | to enable G4ExactHelixStepper to override it |
---|
134 | |
---|
135 | June 21st, 2006 J.Apostolakis - field-V08-00-06 |
---|
136 | ----------------------------- |
---|
137 | - G4ExactHelixStepper: taking out class |
---|
138 | (provisional tag in case of difficulties with class, revisions) |
---|
139 | |
---|
140 | --- The field-V08-00-0x , x > 6, tags do not include the change below |
---|
141 | |
---|
142 | May 27th, 2006 J.Apostolakis - field-V08-00-05 |
---|
143 | ----------------------------- |
---|
144 | - G4FieldTrack: Fix for simple compilation error on Sun. |
---|
145 | |
---|
146 | May 23rd, 2006 J.Apostolakis - field-V08-00-04 |
---|
147 | ----------------------------- |
---|
148 | - G4FieldTrack: Fix for memory leak for ChargeState |
---|
149 | Made G4ChargeState a data member (has an instance) |
---|
150 | |
---|
151 | May 18th, 2006 J.Apostolakis - field-V08-00-03 |
---|
152 | ----------------------------- |
---|
153 | - G4FieldTrack: Fix for issue with gcc 4.0 (mac) |
---|
154 | |
---|
155 | May 16th, 2006 J.Apostolakis - field-V08-00-02 |
---|
156 | ----------------------------- |
---|
157 | - G4ExactHelixStepper |
---|
158 | Taken out alpha version - it was included in error |
---|
159 | |
---|
160 | May 11th, 2006 J.Apostolakis - field-V08-00-01 |
---|
161 | ----------------------------- |
---|
162 | - G4FieldTrack |
---|
163 | Significant, provisional change: |
---|
164 | * Added charge and moments to FieldTrack |
---|
165 | (SetMethods, and pointer to embedded class G4ChargeState) |
---|
166 | Technical revisions: |
---|
167 | * New constructor, with charge and without velocity |
---|
168 | * New almost-default constructor (taking a character) |
---|
169 | Also: |
---|
170 | * New constructor to take const reference to Spin |
---|
171 | * New implementation method UpdateFourMomentum |
---|
172 | * Streaming operator takes const reference, |
---|
173 | and outputs momentum magnitude & direction magn. |
---|
174 | |
---|
175 | - G4ExactHelixStepper |
---|
176 | Included in error |
---|
177 | |
---|
178 | Apr 6th, 2006 J.Apostolakis - field-V08-00-00 |
---|
179 | ---------------------------- |
---|
180 | - In G4FieldManager |
---|
181 | Added missing const GetChordFinder() method -- Problem report #847 |
---|
182 | Corrected description (at top of include file hh): |
---|
183 | - It is possible to set the field manager of a logical volume (since long) |
---|
184 | |
---|
185 | |
---|
186 | Nov 9th, 2005 G.Cosmo - field-V07-01-00 |
---|
187 | ---------------------- |
---|
188 | - Archived source code of field01 unit test, now moved to examples/extended. |
---|
189 | - Migrated unit test NTST to use <sstream> and std:: namespace. Up-to-date |
---|
190 | with G4VParticleChange new interface. |
---|
191 | |
---|
192 | Dec 2nd, 2004 G.Cosmo - field-V06-02-02 |
---|
193 | ---------------------- |
---|
194 | - Implemented migration to <cmath> for standard mathematical functions. |
---|
195 | |
---|
196 | Dec 2nd, 2004 J.Apostolakis - field-V06-02-01 |
---|
197 | ---------------------------- |
---|
198 | - Improvements to comments in key Field classes |
---|
199 | - Changes to test/NTST, renaming 'main()' file & modifying input files |
---|
200 | - Several improvements to test files |
---|
201 | testProElectroMagField.cc |
---|
202 | * updating for new Electric Field inheritance (& need for |
---|
203 | different ChordFinder creation ) |
---|
204 | * adding columns to print-outs in spin case for better diagnosis |
---|
205 | testPropagateMagField.cc |
---|
206 | * Added verbosity level 1 to field Propagator, relabelled old method. |
---|
207 | testPropagateSpin.cc |
---|
208 | * Added more printout of parameters (state) of G4PropagatorInField |
---|
209 | and G4FieldManager before running each test. |
---|
210 | test/NTST |
---|
211 | * Renamed main() file to testNTST.cc and added G4UItcsh terminal. |
---|
212 | |
---|
213 | |
---|
214 | Oct 20th, 2004 P.Gumplinger - field-V06-02-00 |
---|
215 | ---------------------------- |
---|
216 | - Added Set/GetAnomaly() methods in G4Mag_SpinEqRhs. |
---|
217 | |
---|
218 | Feb 9th, 2004 G.Cosmo - field-V06-00-00 |
---|
219 | ---------------------- |
---|
220 | - G4UniformMagField.cc: added missing implementation for |
---|
221 | GetConstantFieldValue(). Fixes bug report #575. |
---|
222 | |
---|
223 | Nov 13th, 2003 J.Apostolakis - field-V05-02-08 |
---|
224 | ----------------------------- |
---|
225 | - G4ChordFinder: |
---|
226 | o extended the arguments of AdvanceChordLimited and FindNextChord |
---|
227 | adding the current safety sphere (origin, radius), for use in optimising. |
---|
228 | o fixed set functions which had side effect (on first fraction.) |
---|
229 | - Added new class G4ChordFinderSaf (using above) |
---|
230 | o which uses safety to create longer chords, so enabling |
---|
231 | propagation in fewer steps --> performance optimisation |
---|
232 | - G4FieldManager: |
---|
233 | Changed default accuracy parameters to much better values: |
---|
234 | Epsilon Min Default to 5.0e-5 from 5.0e-7 (too small) |
---|
235 | Epsilon Max Default to 0.001 from 0.05 (far too big) |
---|
236 | |
---|
237 | Nov 7th, 2003 J.Apostolakis - field-V05-02-07 |
---|
238 | ----------------------------- |
---|
239 | - G4ChordFinder |
---|
240 | o Made this a base class |
---|
241 | * to enable specialised implementations |
---|
242 | * virtual methods: FindNextChord, PrintStatistics) |
---|
243 | * new method AccumulateStatistics to aid in this |
---|
244 | |
---|
245 | o New default value of Accuracy!! |
---|
246 | Delta Chord to 0.25 mm (from 3.00 mm) <----- |
---|
247 | |
---|
248 | - G4FieldManager |
---|
249 | o Changed default values of |
---|
250 | Delta One Step to 0.010 mm (from 0.25 mm) <----- |
---|
251 | Delta Intersection to 0.001 mm (from 0.10 mm) <----- |
---|
252 | for increased default accuracy |
---|
253 | o Use field's DoesFieldChangesEnergy method to set relevant member variable |
---|
254 | |
---|
255 | Nov 7th, 2003 J.Apostolakis - field-V05-02-06 |
---|
256 | ---------------------------- |
---|
257 | - G4ChordFinder |
---|
258 | Created new class members for parameters used in heuristics: |
---|
259 | fFirstFraction for first step |
---|
260 | fFractionLast fraction of last step, if redoing |
---|
261 | fFractionNextEstimate confidence in step est from chord |
---|
262 | fMultipleRadius for small radii of curve |
---|
263 | New method to Print Statistics. |
---|
264 | Verbosity to enable optional printing of stats in destructor. |
---|
265 | |
---|
266 | Nov 7th, 2003 J.Apostolakis - field-V05-02-05 |
---|
267 | ---------------------------- |
---|
268 | - G4ChordFinder |
---|
269 | o Added simple statistics (with access methods) |
---|
270 | - test/NTST |
---|
271 | o Added new test, taken from D. Williams' exampleNTST |
---|
272 | modified and maintained by J. Apostolakis |
---|
273 | |
---|
274 | Nov 5th, 2003 J.Apostolakis - field-V05-02-04 |
---|
275 | ---------------------------- |
---|
276 | - G4FieldManager |
---|
277 | o Added Get/Set Min/Max imumEpsilonStep |
---|
278 | o Added fEpsilonMin fEpsilonMax & default to member variables. |
---|
279 | >> Now these can be tailored for different parts of a detector or setup |
---|
280 | |
---|
281 | - G4Field G4ElectroMagneticField G4MagneticField |
---|
282 | o Adding the virtual method DoesFieldChangeEnergy() [to be used later] |
---|
283 | o So that G4ElectroMagneticField derives from G4Field |
---|
284 | and G4MagneticField derives from G4ElectroMagneticField |
---|
285 | |
---|
286 | - G4MagErrorStepper and derived classes |
---|
287 | (G4ClassicalRK4 G4SimpleRunge G4ExplicitEuler G4ImplicitEuler G4SimpleHeum) |
---|
288 | o the constructors take G4EquationOfMotion in place of a G4Mag_EqRhs |
---|
289 | as it these applicable to all types of equations |
---|
290 | (not just ones for Magnetic field) |
---|
291 | |
---|
292 | - G4EqMagElectricField |
---|
293 | o derives from G4EquationOfMotion |
---|
294 | |
---|
295 | - G4ChordFinder |
---|
296 | o Moved simple constructor to .cc file (together with 'complex' one) |
---|
297 | o Changed fDefaultDeltaChord to a constant member variable (from class var.) |
---|
298 | |
---|
299 | Nov 4th, 2003 G.Cosmo - field-V05-02-03 |
---|
300 | ---------------------- |
---|
301 | Undocumented. |
---|
302 | |
---|
303 | Nov 4th, 2003 G.Cosmo - field-V05-02-02 |
---|
304 | ---------------------- |
---|
305 | - G4ChordFinder.cc: |
---|
306 | o Fixed compilation problem occuring when G4DEBUG_FIELD was set. |
---|
307 | |
---|
308 | Oct 31st, 2003 G.Cosmo - field-V05-02-01 |
---|
309 | ----------------------- |
---|
310 | - Code cleanup and removal of redundant header includes, replaced |
---|
311 | where necessary by forward declarations. |
---|
312 | |
---|
313 | Oct 24th, 2003 G.Cosmo - field-V05-02-00 |
---|
314 | ----------------------- |
---|
315 | - Migrated to use new G4Exception scheme. |
---|
316 | - Updated outputs of unit tests. |
---|
317 | |
---|
318 | Jun 25th, 2003 J.Apostolakis - field-V05-01-06 |
---|
319 | ----------------------------- |
---|
320 | - Suppressed printing of statistics (by default) in MagIntegrationDriver. |
---|
321 | - Fix for unused variables warning in ChordFinder. |
---|
322 | |
---|
323 | Jun 24th, 2003 J.Apostolakis - field-V05-01-05 |
---|
324 | ----------------------------- |
---|
325 | - Fix for problems introduced in field-V05-01-03: |
---|
326 | o G4ChordFinder: |
---|
327 | - Fixed unitialised variable for next step (now used for optimisation). |
---|
328 | - Protected assignment of 'fLastStepEstimate_Unconstrained' in case of |
---|
329 | unitialised value. |
---|
330 | |
---|
331 | Jun 21st, 2003 J.Apostolakis - field-V05-01-04 |
---|
332 | ----------------------------- |
---|
333 | - G4FieldManager: |
---|
334 | o Revised into 'slightly' abstract class with one (new) virtual method: |
---|
335 | ConfigureForTrack( const G4Track *) |
---|
336 | to enable the user to configure it with different accuracy parameters |
---|
337 | depending on energy, particle id, volume, or other track state. |
---|
338 | Currently by default, no such configuration action is undertaken. |
---|
339 | |
---|
340 | Jun 21st, 2003 J.Apostolakis - field-V05-01-03 |
---|
341 | ----------------------------- |
---|
342 | - Revised G4ChordFinder: |
---|
343 | * FindNextChord now provides next Step estimate (for accuracy in Integr.) |
---|
344 | * AdvanceChordLimited to use |
---|
345 | - above extra argument to FindNextChord |
---|
346 | - the next Step argument as initial-step suggested to Accurate Advance |
---|
347 | - G4MagIntegratorDriver: |
---|
348 | * Added extra argument to Accurate Advance: |
---|
349 | hinitial: suggested initial step size |
---|
350 | - Note: |
---|
351 | * Purpose: performance boost with small/limited changes, |
---|
352 | including minor revisions of interfaces. |
---|
353 | |
---|
354 | Jun 20th, 2003 J.Apostolakis - field-V05-01-02 |
---|
355 | ----------------------------- |
---|
356 | - G4MagIntegratorDriver Quick Advance: |
---|
357 | o Took out two unneccessary square roots and two divisions. |
---|
358 | - Notes: |
---|
359 | 1) Pure magnetic, electric, spin field test are completed. |
---|
360 | 2) Purpose: performance boost with small changes. |
---|
361 | |
---|
362 | Jun 20th, 2003 J.Apostolakis - field-V05-01-01 |
---|
363 | ----------------------------- |
---|
364 | - G4MagIntegratorDriver: |
---|
365 | o Corrected neglected conversion to <std> from "G4std". |
---|
366 | - Migrated unit tests to <std>. |
---|
367 | |
---|
368 | Jun 19th, 2003 J.Apostolakis - field-V05-01-00 |
---|
369 | ----------------------------- |
---|
370 | - G4ChordFinder: |
---|
371 | o Corrected simple constructor to initialise several member variables |
---|
372 | including LastStepEstimate_Unconstrained. |
---|
373 | - G4MagIntegratorDriver: |
---|
374 | o Keep simple statistics on number of steps, total error and step size. |
---|
375 | o Took out an unneccessary square root (in loop). |
---|
376 | - NOTE: tests field0X are to be migrated. |
---|
377 | Purpose: fixes, small performance boost, simple statistics. |
---|
378 | |
---|
379 | Apr 2nd, 2003 G. Cosmo - field-V05-00-01 |
---|
380 | --------------------------- |
---|
381 | - Created .cc files for G4MagneticField and G4ElecroMagneticField. |
---|
382 | - Fixed definition of copy constructors in fields inheritance chain. |
---|
383 | - Moved obsolete method StepWithEst() to private in G4RKG3_Stepper, |
---|
384 | G4CashKarpRKF45 and G4ClassicalRK4. |
---|
385 | - Cleared strict pedantic warnings. |
---|
386 | |
---|
387 | Feb 5th, 2003 G. Cosmo - field-V05-00-00 |
---|
388 | --------------------------- |
---|
389 | - Removed redundant inclusions of PhysicalConstants.h or SystemOfUnits.h. |
---|
390 | Now using directly CLHEP's headers. |
---|
391 | |
---|
392 | Dec 12th, 2002 G. Cosmo - field-V04-01-06 |
---|
393 | --------------------------- |
---|
394 | - Moved unused variable 'nStpPr' to debug section in G4MagIntegratorDriver.cc, |
---|
395 | method AccurateAdvance(). |
---|
396 | |
---|
397 | Dec 06th, 2002 G. Cosmo - field-V04-01-05 |
---|
398 | --------------------------- |
---|
399 | - Merged changes by Makoto for migration to new G4ApplicationState in |
---|
400 | messengers of unit tests. |
---|
401 | |
---|
402 | Nov 29th, 2002 J. Apostolakis - field-V04-01-04 |
---|
403 | --------------------------------- |
---|
404 | Further fixes for unitialised variable - in other steppers: |
---|
405 | G4ExplicitEuler, G4ImplicitEuler, G4ImplicitEuler |
---|
406 | |
---|
407 | Large memory leak fix for G4ImplicitEuler, small for ExplicitEuler. |
---|
408 | Test accuracy requirements for spin adjusted. |
---|
409 | |
---|
410 | Nov 20th, 2002 J. Apostolakis - field-V04-01-03 |
---|
411 | --------------------------------- |
---|
412 | Further fixes for unitialised variables: |
---|
413 | |
---|
414 | * G4MagIntegratorStepper |
---|
415 | - Created instance variables for number of Integration, State variables |
---|
416 | |
---|
417 | * G4MagErrorStepper |
---|
418 | - Utilise number of State variables to initialise full state of Output. |
---|
419 | |
---|
420 | * G4Mag_SpinEqRhs |
---|
421 | - Initialise the values of dydx that we do not update. |
---|
422 | |
---|
423 | Note: Undoing these changes and the ones below would enable the user to see |
---|
424 | if undefined values are used in variables that he/she expects to |
---|
425 | have integrated. |
---|
426 | BUT the fix assists us to find truly undefined values elsewhere |
---|
427 | -- if they exist -- using valgrind. |
---|
428 | |
---|
429 | Nov 9th, 2002 J. Apostolakis - field-V04-01-02 |
---|
430 | --------------------------------- |
---|
431 | Fixes to address use of uninitialised variable in seting values of FieldTrack |
---|
432 | (this was done by design, but was neither ideal or always well-behaved.) |
---|
433 | Changed: |
---|
434 | |
---|
435 | * G4MagIntegratorDriver |
---|
436 | - Added instance variables for number of Integration, State variables |
---|
437 | - Initialise all State variables of Output with values from initial variables. |
---|
438 | - Only the Integration variables will be integrated |
---|
439 | |
---|
440 | * G4ClassicalRK4 and G4MagErrorStepper |
---|
441 | - Copy the initial time to intermediate and output C-vectors, |
---|
442 | in order to provide a zero-eth estimate value. |
---|
443 | Note1: Should clean-up this fix, making it similar to Driver (above) |
---|
444 | Note2: Should *not* be used for time varying field unless created |
---|
445 | with at least 8 integration variables |
---|
446 | --------------------------------- |
---|
447 | G4ChordFinder.cc |
---|
448 | - Correction from zero dChord |
---|
449 | which is does not update the Unconstrained step estimate (state) |
---|
450 | - Added instance variables to store number of calls and chord-trials |
---|
451 | and new print method for 'debugging' |
---|
452 | |
---|
453 | G4Mag_UsualEqRhs.cc |
---|
454 | - Attempted approximations for speedup *overwritten* by full inverse sqrt. |
---|
455 | |
---|
456 | |
---|
457 | Oct 29th, 2002 J. Apostolakis - test-V04-01-02 |
---|
458 | -------------------------------- |
---|
459 | - Changed output of tests for small output change (GeV->MeV) |
---|
460 | |
---|
461 | Oct 29th, 2002 J. Apostolakis - test-V04-01-02 |
---|
462 | -------------------------------- |
---|
463 | - (Only changed and tagged test subdirectory) |
---|
464 | Changed tests to use the new method SetChargeMomentumMass of |
---|
465 | PropagatorInField in order to be ready for its full use in |
---|
466 | G4PropagatorInField. |
---|
467 | (A key problem at end-July was this non-preparedness of the unit tests.) |
---|
468 | |
---|
469 | Jul 24th, 2002 G. Cosmo - field-V04-01-01 |
---|
470 | -------------------------- |
---|
471 | - G4FieldManager[.hh.cc]: made fDefault_Delta_One_Step_Value and |
---|
472 | fDefault_Delta_Intersection_Val normal constants (not static) to |
---|
473 | resolve initialisation problems. Coworks with tag "geomvol-V04-01-01". |
---|
474 | Fixes problem report #383. |
---|
475 | |
---|
476 | Jul 23rd, 2002 G. Cosmo - field-V04-01-00 |
---|
477 | -------------------------- |
---|
478 | - G4MagIntegratorDriver.cc: cleared warning of unused variable. |
---|
479 | Protected variable 'nStpPr' with G4DEBUG_FIELD. |
---|
480 | - Updated reference outputs and some other updates to unit tests. |
---|
481 | |
---|
482 | Jun 25th, 2002 J. Apostolakis - field-V04-00-05 |
---|
483 | -------------------------------- |
---|
484 | - G4ChordFinder.cc |
---|
485 | In NewStep: fixed case of stepTrial >> stepTrialOld, to take large multiple - not small; |
---|
486 | (it was treated the same as stepTrial << old) |
---|
487 | Added guard for stepTrial==0.0 in FindNextChord |
---|
488 | - G4MagIntegratorDriver.cc |
---|
489 | Added protection against error of 0.0 in ComputeNewStepSize. |
---|
490 | |
---|
491 | - G4EquationOfMotion |
---|
492 | Made RightHandSide an inline method |
---|
493 | In GetFieldValue signature of Point is double[4], instead of double[3] |
---|
494 | Defined G4maximum_number_of_field_components as enum |
---|
495 | |
---|
496 | Jun 7th, 2002 J. Apostolakis - field-V04-00-04 |
---|
497 | -------------------------------- |
---|
498 | - G4Mag_SpinEqRhs.cc |
---|
499 | o Fix to momentum component of Rhs. |
---|
500 | |
---|
501 | May 31st, 2002 J. Apostolakis - field-V04-00-03 |
---|
502 | -------------------------------- |
---|
503 | - G4MagHelicalStepper.icc |
---|
504 | o Fix to LinearStep (correcting previous fix/cosmetic) |
---|
505 | - G4ChordFinder.cc |
---|
506 | o Corrective behaviour for very small or large changes of 'new step' |
---|
507 | [observed in complex 3-d fields (purging magnet), or |
---|
508 | approximate equations of motion ] |
---|
509 | - G4MagIntegratorDriver |
---|
510 | o More information in debug printing (tangent cosine, norm) |
---|
511 | |
---|
512 | May 7th, 2002 J. Apostolakis |
---|
513 | -------------------------------- |
---|
514 | - G4MagIntegratorDriver - ( on trunk ) |
---|
515 | * Fix to update the field track for steps smaller than the chord finder's |
---|
516 | minstep. |
---|
517 | |
---|
518 | |
---|
519 | April 19th, 2002 J. Apostolakis (not included in tag field-V04-00-02) |
---|
520 | -------------------------------- |
---|
521 | - G4MagIntegratorDriver.hh,cc (on trunk) |
---|
522 | * Bug fix: last step can now only be triggerred if x+h > x2. |
---|
523 | * Debugging methods improved. |
---|
524 | |
---|
525 | May 7th, 2002 J. Apostolakis - field-V04-00-02 |
---|
526 | -------------------------------- |
---|
527 | Tag including only two changes below: |
---|
528 | - Putting aside the other fixes/changes (as the one above) to |
---|
529 | G4MagIntegratorDriver, tagging only the fix to update the field track |
---|
530 | for steps smaller than the chord finder's minstep. |
---|
531 | |
---|
532 | May 7th, 2002 J. Apostolakis |
---|
533 | -------------------------------- |
---|
534 | - G4MagIntegratorDriver - ** branch ** on 1.20 ** |
---|
535 | * Fix to update the field track for steps smaller than the chord finder's |
---|
536 | minstep. |
---|
537 | |
---|
538 | May 7th, 2002 J. Apostolakis |
---|
539 | -------------------------------- |
---|
540 | - G4MagIntegratorStepper |
---|
541 | * Changed RightHandSide from a virtual method to an inline (non-virtual) |
---|
542 | method -- it is not and should not be changed by derived classes. |
---|
543 | |
---|
544 | Mar 28th, 2002 J. Apostolakis - field-V04-00-01 |
---|
545 | ----------------------- |
---|
546 | - Fixed LinearStep in G4MagHelicalStepper (expected unit direction), |
---|
547 | that had not been updated for new integration variable (momentum). |
---|
548 | --> found in testing helical steppers in BaBar setup, |
---|
549 | in region of negligible field. |
---|
550 | |
---|
551 | - Changed maximum number of steps in driver, |
---|
552 | halving from 500/order to 250/order. |
---|
553 | |
---|
554 | Mar 28th, 2002 J. Apostolakis |
---|
555 | ----------------------- |
---|
556 | - Committed directory "OtherField" with examples of fields, |
---|
557 | Delphi, Quadropole etc. |
---|
558 | |
---|
559 | - Updated outputs of testPropagateMagField for new version of source, |
---|
560 | that has 3rd test case. |
---|
561 | |
---|
562 | - Added new runs and outputs for testProElectroMagField, with |
---|
563 | several steppers, and modified test script test.sh accordingly. |
---|
564 | |
---|
565 | |
---|
566 | Feb 2nd, 2002 V. Grichine |
---|
567 | ------------------------ |
---|
568 | Update of test/field02 to utilise new features |
---|
569 | - for Electric Field, to signal that a field modifies the energy; |
---|
570 | - updating of time by integration, for time dependent fields. |
---|
571 | |
---|
572 | Jan 10th, 2002 G. Cosmo - field-V04-00-00 |
---|
573 | ------------------------ |
---|
574 | - Activated G4DEBUG_FIELD in GNUmakefile. |
---|
575 | |
---|
576 | Jan 7th, 2002 J. Apostolakis |
---|
577 | ----------------------------- |
---|
578 | - G4MagHelicalStepper.cc: renamed local variables "*Momentum*" to "*Velocity*". |
---|
579 | |
---|
580 | Dec 4th, 2001 G. Cosmo - field-V03-02-08 |
---|
581 | ----------------------- |
---|
582 | - Fixed interface to virtual functions in the inheritance chain. |
---|
583 | Added 'virtual' qualifier to destructor and GetFieldValue() for subclasses |
---|
584 | of G4Field which may act as base class for user-defined fields. |
---|
585 | Modified files: G4MagneticField.hh, G4UniformElectricField[.hh.cc], |
---|
586 | G4UniformMagField.hh. |
---|
587 | - G4ChordFinder.cc: the unphysical curve length exception has been moved to |
---|
588 | inside #ifdef G4DEBUG_FIELD. Other #ifdef renamed to G4DEBUG_FIELD. |
---|
589 | - G4LineSection[.hh.cc]: correction for A=B when the distance from P to A |
---|
590 | is returned (V.Grichine). |
---|
591 | |
---|
592 | Nov 28th, 2001 J. Apostolakis - field-V03-02-07 |
---|
593 | ------------------------------ |
---|
594 | G4FieldManager |
---|
595 | - Added fFieldChangesEnergy data member and get/set methods |
---|
596 | ( required to allow transportation to know how to calculate end-time, |
---|
597 | enabling the integration of time only for electric fields. ) |
---|
598 | |
---|
599 | Nov 28th, 2001 J. Apostolakis - field-V03-02-06 |
---|
600 | ------------------------------ |
---|
601 | Small fixes only: |
---|
602 | |
---|
603 | G4CashKarpRKF45 |
---|
604 | - fixed deletion of unassigned pointer/array in destructor. (-> Volodya Velev) |
---|
605 | |
---|
606 | G4EqMagElectricField |
---|
607 | - bug fixed in the formula for inverse velocity (-> V. Grichine) |
---|
608 | |
---|
609 | Nov 21st, 2001 G. Cosmo - field-V03-02-05 |
---|
610 | ------------------------ |
---|
611 | - Protected verbose warnings with G4FIELD_DEBUG flag in G4ChordFinder.cc |
---|
612 | (V.Grichine). |
---|
613 | - Replaced G4DEBUG with G4DEBUG_FIELD in G4MagIntegratorDriver.cc. |
---|
614 | - Updates to unit test field02. |
---|
615 | |
---|
616 | Nov 13th, 2001 G. Cosmo - field-V03-02-04 |
---|
617 | ------------------------ |
---|
618 | - Removed warnings on gcc-2.95.2. |
---|
619 | - Included unit tests field01, field02, field03. |
---|
620 | |
---|
621 | Nov 9th, 2001 J. Apostolakis - field-V03-02-03 |
---|
622 | ----------------------------- |
---|
623 | Motivated by the use case of an Electric Field, |
---|
624 | - in order to achieve reasonable accuracy in time integration, |
---|
625 | - and to enable fields that vary with the global time) |
---|
626 | we (John Ap. and V. Grichine) changed the following: |
---|
627 | |
---|
628 | - Modified G4Field to allow the time in the GetFieldValue method |
---|
629 | - as 4th component of the "position" array. |
---|
630 | |
---|
631 | - Modified EquationOfMotion to provide the time to the GetFieldValue method |
---|
632 | of G4Field |
---|
633 | * as the 4th component of a position / time 4-array |
---|
634 | * in place of only position as a 3-arry |
---|
635 | |
---|
636 | - Added the global time as variable to be integrated over in the |
---|
637 | case of an Electric Field |
---|
638 | |
---|
639 | Support for these modifications is required in G4Transportation. |
---|
640 | |
---|
641 | (Better support will require either |
---|
642 | - a modification in G4FieldTrack to indicate whether the time has been |
---|
643 | integrated or not. |
---|
644 | - or additionally making the time calculation a property of G4FieldTrack, |
---|
645 | bring in code to do it in from G4Transportation.) |
---|
646 | |
---|
647 | |
---|
648 | Nov 8th, 2001 J. Apostolakis - field-V03-02-02 |
---|
649 | ------------------------ |
---|
650 | - Introduced several changes in G4MagIntegratorDriver. |
---|
651 | |
---|
652 | It now respects its minimum driver step size in AccurateAdvance. |
---|
653 | * whereas before it did not. |
---|
654 | |
---|
655 | Modified maximum number of steps, lowering by factor of 10. |
---|
656 | -> it should reduce the time spent integrating low energy particles, |
---|
657 | in some cases where it is unneccessary. |
---|
658 | |
---|
659 | Protected printing of (nearly?) all warnings with a G4DEBUG_FIELD #ifdef. |
---|
660 | |
---|
661 | |
---|
662 | Nov 05th, 2001 G. Cosmo - field-V03-02-01 |
---|
663 | ------------------------ |
---|
664 | - Fixed trivial warnings on Linux-g++. |
---|
665 | |
---|
666 | Aug 27th, 2001 J. Apostolakis - field-V03-02-00 |
---|
667 | ------------------------------ |
---|
668 | Tagged last change. |
---|
669 | This tag is utilised in transport-V03-02-01 (which requires it). |
---|
670 | |
---|
671 | Aug 16th, 2001 J. Apostolakis |
---|
672 | ------------------------------ |
---|
673 | G4ChordFinder: |
---|
674 | Added method to erase/reset the state of the StepEstimate. |
---|
675 | This is unwanted internal state that was carried between tracks and |
---|
676 | events as a side effect. |
---|
677 | |
---|
678 | Calling this at the start of each track, it is now possible to |
---|
679 | eliminate a non-repeatability that was possible due to this. |
---|
680 | ( It has been observed in particular in vaccuum. ) |
---|
681 | |
---|
682 | May 23rd, 2001 J. Apostolakis - field-V03-01-02 |
---|
683 | ------------------------------ |
---|
684 | - Added Exception to G4RKG3Stepper constructor: the class does not work |
---|
685 | |
---|
686 | May 23rd, 2001 J. Apostolakis - field-V03-01-01 |
---|
687 | ------------------------------ |
---|
688 | - Fixed G4FieldManager constructors to give default values to delta |
---|
689 | parameters. |
---|
690 | |
---|
691 | - Updated testPropagateSpin (it now compiles), |
---|
692 | and some outputs of testPropagateMagField (1 to 5) |
---|
693 | |
---|
694 | |
---|
695 | Apr 12th, 2001 P. Gumplinger - field-V03-01-00 |
---|
696 | ----------------------------- |
---|
697 | - Updated G4Mag_SpinEqRhs.hh and G4Mag_SpinEqRhs.cc for correction |
---|
698 | to spin tracking. |
---|
699 | |
---|
700 | Apr 04th, 2001 G. Cosmo - field-V03-00-05 |
---|
701 | ------------------------ |
---|
702 | - G4FieldTrack.icc: fixed pedantic warnings on Linux-g++. |
---|
703 | |
---|
704 | Mar 23rd, 2001 J. Apostolakis - field-V03-00-04 |
---|
705 | ------------------------------ |
---|
706 | - Electric Field unit test now works: test runs until completion. |
---|
707 | Test outputs saved (on Linux). |
---|
708 | |
---|
709 | - Fixed src/G4UniformElectricField.cc to set correct field components |
---|
710 | (compatible with Equation of Motion |
---|
711 | G4EqMagElectricField ) |
---|
712 | |
---|
713 | - Tidied G4FieldTrack |
---|
714 | * deleted obsolete methods Set/Get MomentumModulus() and its data member. |
---|
715 | * in constructor to set the value of the spin to (0.0, 0.0, 0.0) |
---|
716 | if pSpin is null. (It was undefined.) |
---|
717 | |
---|
718 | Mar 23rd, 2001 J. Apostolakis - field-V03-00-03 |
---|
719 | ------------------------------ |
---|
720 | - Fixed (hacked) CashKarp to work using Auxiliary Stepper. |
---|
721 | |
---|
722 | - Modified G4MagIntegratorStepper |
---|
723 | to use pointer to G4EquationOfMotion |
---|
724 | instead of G4Mag_EqRhs |
---|
725 | |
---|
726 | - Design iteration appears neccessary |
---|
727 | |
---|
728 | Mar 23rd, 2001 J. Apostolakis - field-V03-00-02 |
---|
729 | ------------------------------ |
---|
730 | - Fixed G4MagHelicalStepper::AdvanceHelix for momentum, allowing |
---|
731 | the possibility of (correct) use of all Helical Steppers. |
---|
732 | |
---|
733 | - test/testProElectroMagField.cc updated for momentum. |
---|
734 | (Not yet updated: Spin tests) |
---|
735 | |
---|
736 | |
---|
737 | Mar 19th, 2001 J. Apostolakis - field-V03-00-01 |
---|
738 | ------------------------------ |
---|
739 | - Tagging the modification of several classes to integrate in momentum*c_light |
---|
740 | instead of velocity. |
---|
741 | Reason for change: Velocity integration can result in superluminar |
---|
742 | velocities, due to arithmetic inaccuracies. |
---|
743 | Classes modified: |
---|
744 | G4FieldTrack, (Changed components 3,4,5 of SixVector to Momentum, |
---|
745 | G4Mag_EqRhs, G4Mag_UsualEqRhs, G4EqMagElectricField |
---|
746 | |
---|
747 | Feb 20th, 2001 J. Apostolakis |
---|
748 | |
---|
749 | - Modified several classes to integrate in momentum instead of velocity. |
---|
750 | |
---|
751 | G4FieldTrack: |
---|
752 | Changed components 3,4,5 of SixVector to Momentum, |
---|
753 | Modified constructor |
---|
754 | Added energy calculation to "LoadFromArray" method |
---|
755 | GetEnergy method is now implemented. |
---|
756 | Deleted obsolete (old) method names for Curve and Position. New have "Get" |
---|
757 | |
---|
758 | G4ChordFinder |
---|
759 | Renamed old-method names of Field Track to new ones. |
---|
760 | |
---|
761 | Jan 29th, 2001 G. Cosmo - field-V03-00-00 |
---|
762 | ------------------------- |
---|
763 | |
---|
764 | - Minor fix to G4MagneticField.hh: added explicit call to G4Field() in |
---|
765 | copy constructor. Fixes report #205. |
---|
766 | |
---|
767 | Nov 20th, 2000 G. Cosmo - field-V02-00-02 |
---|
768 | |
---|
769 | - Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options: |
---|
770 | o commented out variables declared and not used. |
---|
771 | o fixed declaration of variables used before being initialised. |
---|
772 | o fixed order of initialisation of member data in constructors. |
---|
773 | o fixed usage of unsigned-int (size_t) for array indeces. |
---|
774 | |
---|
775 | Nov 9th, 2000 G. Cosmo - field-V02-00-01 |
---|
776 | |
---|
777 | - G4FieldManager: added check on existence of allocated fChordFinder |
---|
778 | in CreateChordFinder(G4MagneticField*) method. |
---|
779 | |
---|
780 | Nov 1st, 2000 G. Cosmo - field-V02-00-00 |
---|
781 | |
---|
782 | - QA code revision and cleanup (+fixes from CodeWizard filtering): |
---|
783 | o Added (private) declarations of copy constructor and assignment operator |
---|
784 | where needed. |
---|
785 | o Added "const" qualifier to accessor methods, wherever needed. |
---|
786 | o Added equality check on operator= where needed. |
---|
787 | o Made destructor "virtual" for classes having virtual methods, |
---|
788 | wherever missing. |
---|
789 | o Changed virtual functions to non-inline wherever's the case. |
---|
790 | o Changed return value to be "const" pointer to functions: |
---|
791 | - G4EquationOfMotion::GetFieldObj() |
---|
792 | - G4FieldManager::GetDetectorField() |
---|
793 | - G4MagIntegratorDriver::GetStepper() |
---|
794 | o Fixed and corrected signature to G4MagIntegratorDriver::SetHmin(). |
---|
795 | o Added "inline" qualifier to methods' declarations. |
---|
796 | o General cosmetics |
---|
797 | |
---|
798 | Jun 2nd, 2000 J. Apostolakis |
---|
799 | - G4FieldManager[.hh.icc] |
---|
800 | o Added DeltaIntersection and DeltaOneStep to FieldManager: added |
---|
801 | Get/Set methods and SetAccuraciesWithDeltaOneStep(). |
---|
802 | |
---|
803 | May 31st, 2000 J. Apostolakis - field-V01-01-03 |
---|
804 | |
---|
805 | include/G4FieldManager.hh,icc |
---|
806 | o Moved Delta Intersection and Delta One Step to FieldManager |
---|
807 | (from Propagator in Field), to allow them to differ over the detector. |
---|
808 | |
---|
809 | May 11th, 2000 J. Apostolakis - field-V01-01-02 |
---|
810 | |
---|
811 | - G4ChordFinder[.hh.cc] |
---|
812 | o Modified method for finding new trial step. |
---|
813 | New method assumes a quadratic relationship between step-length and d_chord: |
---|
814 | d_chord proportional to step-lenght ^ 2 |
---|
815 | o Added two small refinement in order to avoid unneccesary extra step due to |
---|
816 | small numerical inaccuracies in estimation: |
---|
817 | FindNextChord |
---|
818 | to first step use (1-0.001) * last-step-estimate |
---|
819 | New Step: |
---|
820 | to subsequent step use trial_step = 0.98 * estimate |
---|
821 | |
---|
822 | May 10th, 2000 G. Cosmo |
---|
823 | |
---|
824 | - G4MagneticField.hh: minor fix to dummy implementation of assignment |
---|
825 | operator. |
---|
826 | |
---|
827 | May 9th, 2000 J. Apostolakis - field-V01-01-01 |
---|
828 | |
---|
829 | - G4MagErrorStepper: |
---|
830 | Modified DistChord to check whether the chord endpoint are the same point. |
---|
831 | |
---|
832 | - G4RKG3_Stepper: |
---|
833 | Deleted error message from StepNoErr, as it is used in Stepper. |
---|
834 | |
---|
835 | - G4MagIntegratorDriver: |
---|
836 | Changed the condition for the debug output (~cosmetic) |
---|
837 | |
---|
838 | |
---|
839 | April 27th, 2000 G. Cosmo |
---|
840 | |
---|
841 | - Reorganised comments for the Software Reference Manual. |
---|
842 | - Moved inlined definition to .icc files, where needed. |
---|
843 | Created: G4ChordFinder.icc and G4FieldManager.icc. |
---|
844 | |
---|
845 | April 13th, 2000 J. Apostolakis - field-V01-01-00 |
---|
846 | |
---|
847 | - Modified signature to function DumbStepper() in classes: |
---|
848 | G4HelixExplicitEuler, G4HelixHeum, G4HelixImplicitEuler, |
---|
849 | G4HelixSimpleRunge and G4MagHelicalStepper. |
---|
850 | - Modified signature and implementation of function MagFieldEvaluate() |
---|
851 | in G4MagHelicalStepper, to use Field (as ThreeVector) in place of dydx. |
---|
852 | - Made Richardson extrapolation optional (it is unclear if |
---|
853 | it offers benefit) in G4MagHelicalStepper. |
---|
854 | - Updated unit test testPropagateMagField and reference output. |
---|
855 | - G4LineSection: fixes to prevent divisions by 0. and sqrt(<0) |
---|
856 | (V.Grichine). |
---|
857 | |
---|
858 | January 19th, 2000 G. Cosmo - field-V01-00-00 |
---|
859 | |
---|
860 | Syncronized versioning of files with HEAD after ISO-C++ migration |
---|
861 | (essentially CVS header changes). |
---|
862 | |
---|
863 | December 7th, 1999 J. Apostolakis - field-V00-01-01a |
---|
864 | |
---|
865 | For negative or very small curve lengths (h) we suppress writing an error |
---|
866 | (about the distance of endpoints being further than the curve length), |
---|
867 | as it is meaningless. |
---|
868 | |
---|
869 | November 23rd, 1999 J. Apostolakis - field-V00-01-01 |
---|
870 | |
---|
871 | Tagged this sub-category's state in geometry-V00-01-01 |
---|
872 | |
---|
873 | |
---|
874 | July 6th, 1999 J. Apostolakis - field-01-00-07 |
---|
875 | |
---|
876 | These fixes and those in field-01-00-06 and field-01-00-06a all come |
---|
877 | from the need to cope with the imprecision of the integration, and its |
---|
878 | interaction with paths that are rather straight. |
---|
879 | |
---|
880 | G4MagIntegrationDriver: |
---|
881 | i) AccurateAdvance now that the chord distance is smaller than the curve len- |
---|
882 | gth (times 1+epsilon). |
---|
883 | |
---|
884 | ii) OneGoodStep and QuickAdvance considers the error of the velocity as well as |
---|
885 | the error of the position - and ensure that both relative errors are within |
---|
886 | the "eps" maximum given. |
---|
887 | |
---|
888 | G4ChordFinder: |
---|
889 | Having found that the curve_length vs ABdist disrepancy has its basis in |
---|
890 | the imprecision of the integration: |
---|
891 | i) Modified the exception in this case to happen only for very large |
---|
892 | relative disrepancies ( 10 * eps ). |
---|
893 | ii) Undertaken a default corrective action in all other cases |
---|
894 | Note that this disrepancy only happens for very straight sections of track - |
---|
895 | ie step lengths much smaller than the curvature of the track. |
---|
896 | |
---|
897 | July 1st, 1999 J. Apostolakis - field-01-00-06a |
---|
898 | |
---|
899 | In order to cope with the anomalous condition created by candidate fix |
---|
900 | in G4PropagatorInField, we ensure that the fraction_AE is always between |
---|
901 | 0 and 1.0. (giving it a default value of 0.5 whenever it is wrong). |
---|
902 | ( in G4ChordFinder::ApproxCurvePointV ) |
---|
903 | |
---|
904 | June 29th, 1999 J. Apostolakis - field-01-00-06 |
---|
905 | |
---|
906 | I re-instated a check on whether the input distance along the curve between |
---|
907 | the two input curve points is truly greater than their linear distance. |
---|
908 | ( in G4ChordFinder::ApproxCurvePointV ) |
---|
909 | |
---|
910 | The condition that prints out a warning message has been altered to |
---|
911 | take into account the case of a very small final interval. |
---|
912 | ( in G4MagInt_Driver::AccurateAdvance ) |
---|
913 | |
---|
914 | June ??th, 1999 J. Apostolakis - field-01-00-05 |
---|
915 | |
---|
916 | The condition that prints out a warning message was changed to delete |
---|
917 | an incorrect comparison. |
---|
918 | ( in G4MagInt_Driver::AccurateAdvance ) |
---|
919 | |
---|
920 | April 19th, 1999 J. Apostolakis - field-01-00-04 |
---|
921 | |
---|
922 | G4MagErrorStepper: Cosmetic changes to name of data members |
---|
923 | |
---|
924 | March 4th, 1999 J. Apostolakis - field-01-00-03 |
---|
925 | |
---|
926 | Corrected delete statement of arrays to use 'delete[]' instead of simple delete |
---|
927 | in destructors of 2 steppers (G4CashKarpRKF45, G4SimpleHeum) |
---|
928 | |
---|
929 | February 17th, 1999 J. Apostolakis - field-01-00-02 |
---|
930 | |
---|
931 | Moved G4PropagatorInField files to geometry/volumes. |
---|
932 | Updated GNUmakefile not to depend on geometry/volumes anymore. |
---|
933 | -> the known circular dependency is removed |
---|
934 | |
---|
935 | |
---|
936 | February 12th, 1999 J. Apostolakis - field-spin1-works1 (act Feb17) |
---|
937 | |
---|
938 | A tag that contains the first version that worked with spin (in Peter G.'s |
---|
939 | directory). G4PropagateInSpin is still in this version. A small change |
---|
940 | in a branch of the header file was needed. |
---|
941 | |
---|
942 | |
---|
943 | February 10th, 1999 J. Apostolakis |
---|
944 | |
---|
945 | All the following changes are needed for energy integration also: |
---|
946 | |
---|
947 | G4ChordFinder now passes to the constructed driver the number of variables. |
---|
948 | Because of the need for the stepper to know about it in its Abstract interface |
---|
949 | |
---|
950 | -> Moved theNumberOfVariables from derived class G4MagErrorStepper |
---|
951 | to base class G4MagIntegratorStepper |
---|
952 | |
---|
953 | As a consequense the classes that derived from G4MagIntegratorStepper directly |
---|
954 | were changed: G4CashKarpRKF45, G4MagHelicalStepper, |
---|
955 | |
---|
956 | |
---|
957 | February 9th, 1999 J. Apostolakis |
---|
958 | |
---|
959 | Equation of Motion: |
---|
960 | G4MagEqRhs.hh Made SetChargeMomentumMass virtual, so that G4Mag_SpinEqRhs |
---|
961 | can initialise its constants too. |
---|
962 | |
---|
963 | |
---|
964 | February 9th, 1999 P. Gumplinger |
---|
965 | |
---|
966 | Added Equation of Motion for Spin in Magnetic Field. |
---|
967 | |
---|
968 | |
---|
969 | February 17th, 1999 J. Apostolakis - field-01-00-01 |
---|
970 | ---> date is correct, made sure that tag does not include above fixes! |
---|
971 | |
---|
972 | Moved G4PropagatorInField files to geometry/volumes. |
---|
973 | Updated GNUmakefile not to depend on geometry/volumes anymore. |
---|
974 | -> the known circular dependency is removed |
---|
975 | |
---|
976 | |
---|
977 | --------------------------------------------------------------------------- |
---|
978 | ------ Geant 4 Production Release ------------ |
---|
979 | -------------------------------------------------------------------------- |
---|
980 | Nov 19th, 1998 J. Apostolakis - field-00-04-01head ===> R+D version only |
---|
981 | |
---|
982 | G4PropagatorInField files modified: |
---|
983 | |
---|
984 | - to store the last safety computed and its origin. |
---|
985 | - to give them to a requester |
---|
986 | ------------------------------------------------------------------ |
---|
987 | |
---|
988 | Nov 19th, 1998 J. Apostolakis - field-00-03-03b |
---|
989 | |
---|
990 | Subtle fix to interface of G4UniformMagField::GetFieldValue |
---|
991 | ( that tripped Visual C++ ) |
---|
992 | |
---|
993 | G4PropagatorInField: added printing method for verboseness. |
---|
994 | |
---|
995 | Nov 19th, 1998 J. Apostolakis - field-00-03-03a |
---|
996 | |
---|
997 | Steppers: Fixed instance variables construction (SimpleRunge) |
---|
998 | and clash of names in CashKarp::StepWithEstimate |
---|
999 | |
---|
1000 | Added post-const to all Field classes for |
---|
1001 | void GetFieldValue(const G4double yTrack[] , |
---|
1002 | G4double B[] ) const ; |
---|
1003 | |
---|
1004 | Added SetFieldValue methods to UniformMagField |
---|
1005 | |
---|
1006 | Added GetConstantFieldValue() methods to Uniform Mag & Electric Fields |
---|
1007 | |
---|
1008 | |
---|
1009 | Nov 19th, 1998 J. Apostolakis - field-00-03-03 |
---|
1010 | |
---|
1011 | Fixes to Propagate and Steppers |
---|
1012 | |
---|
1013 | Nov 19th, 1998 J. Apostolakis - field-00-03-02 |
---|
1014 | |
---|
1015 | Minor corrections (???) |
---|
1016 | |
---|
1017 | Nov 19th, 1998 J. Apostolakis - field-00-03-02 |
---|
1018 | |
---|
1019 | Major development to allow Electric Field |
---|
1020 | |
---|
1021 | |
---|
1022 | |
---|
1023 | June 17th, 1998 J. Apostolakis - magfield-06-03 |
---|
1024 | |
---|
1025 | Modified Files: |
---|
1026 | include/G4PropagatorInField.hh |
---|
1027 | src/G4PropagatorInField.cc |
---|
1028 | test/testPropagateInField.cc |
---|
1029 | ---------------------------------------------------------------------- |
---|
1030 | |
---|
1031 | 1) Added an assertion after each call to LocateGlobalPointAndSetup. |
---|
1032 | It checks that the located volume is equal to the current volume. |
---|
1033 | If this check fails, the Propagator does not know how to continue. |
---|
1034 | |
---|
1035 | 2) Added an argument to ComputeStep method of G4PropagatorInField. |
---|
1036 | The new volume argument is used to check the current volume during the step. |
---|
1037 | |
---|
1038 | 3) When G4Navigator's ComputeStep returned stepLength==stepRequested, this |
---|
1039 | used to be treated as a failure to intersect. This is incorrect. |
---|
1040 | |
---|
1041 | stepLength==stepRequested is an intersection, |
---|
1042 | so I am now treating it as such in each comparison (of 3). |
---|
1043 | Ignoring it causes problems, including volume being skipped. |
---|
1044 | --> but treating it as an intersection used to cause problems too ?? |
---|
1045 | |
---|
1046 | |
---|
1047 | May 7th, 1998 J. Apostolakis - magfield-06-02-helix01 |
---|
1048 | |
---|
1049 | - Tag includes new version of G4ChordFinder (not used by W.Wander). |
---|
1050 | |
---|
1051 | |
---|
1052 | May 7th, 1998 W. Wander (recorded/commited by J. Apostolakis) |
---|
1053 | |
---|
1054 | - New "helical" RK steppers that move in helical segments, not linear. |
---|
1055 | * Several changes to add steppers |
---|
1056 | |
---|
1057 | Modified Files: |
---|
1058 | G4MagErrorStepper.hh |
---|
1059 | G4MagErrorStepper.cc |
---|
1060 | added Helical stepping methods to this general ABC. |
---|
1061 | |
---|
1062 | G4MagIntegratorStepper.hh |
---|
1063 | made RightHandSide virtual (this will be reversed very soon) |
---|
1064 | |
---|
1065 | testPropagateMagField.cc |
---|
1066 | Test of Helical stepping functionality added. |
---|
1067 | |
---|
1068 | Added Files for new Helical RK steppers, deriving from G4MagErrorStepper: |
---|
1069 | G4HelixExplicitEuler.cc ( and .hh ) |
---|
1070 | G4HelixHeum.cc |
---|
1071 | G4HelixImplicitEuler.cc |
---|
1072 | G4HelixSimpleRunge.cc |
---|
1073 | |
---|
1074 | Added File for implementation: |
---|
1075 | G4MagErrorStepper.icc |
---|
1076 | |
---|
1077 | |
---|
1078 | May 7th, 1998 J. Apostolakis - magfield-06-01 |
---|
1079 | |
---|
1080 | - added small changes to |
---|
1081 | * G4ChordFinder: methods to get/set IntegratorDriver |
---|
1082 | * G4MagIntegratorDriver: made OneGoodStep method public |
---|
1083 | - created the file. |
---|
1084 | |
---|