332 lines
12 KiB
Plaintext
332 lines
12 KiB
Plaintext
$Id: History,v 1.24 2000/11/20 17:29:03 gcosmo Exp $
|
|
-------------------------------------------------------------------
|
|
|
|
=========================================================
|
|
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
|
=========================================================
|
|
|
|
Category History file
|
|
---------------------
|
|
This file should be used by G4 developers and category coordinators
|
|
to briefly summarize all major modifications introduced in the code
|
|
and keep track of all category-tags.
|
|
It DOES NOT substitute the CVS log-message one should put at every
|
|
committal in the CVS repository !
|
|
|
|
----------------------------------------------------------
|
|
* Reverse chronological order (last date on top), please *
|
|
----------------------------------------------------------
|
|
|
|
Nov 20th, 2000 G. Cosmo - field-V02-00-02
|
|
|
|
- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options:
|
|
o commented out variables declared and not used.
|
|
o fixed declaration of variables used before being initialised.
|
|
o fixed order of initialisation of member data in constructors.
|
|
o fixed usage of unsigned-int (size_t) for array indeces.
|
|
|
|
Nov 9th, 2000 G. Cosmo - field-V02-00-01
|
|
|
|
- G4FieldManager: added check on existence of allocated fChordFinder
|
|
in CreateChordFinder(G4MagneticField*) method.
|
|
|
|
Nov 1st, 2000 G. Cosmo - field-V02-00-00
|
|
|
|
- QA code revision and cleanup (+fixes from CodeWizard filtering):
|
|
o Added (private) declarations of copy constructor and assignment operator
|
|
where needed.
|
|
o Added "const" qualifier to accessor methods, wherever needed.
|
|
o Added equality check on operator= where needed.
|
|
o Made destructor "virtual" for classes having virtual methods,
|
|
wherever missing.
|
|
o Changed virtual functions to non-inline wherever's the case.
|
|
o Changed return value to be "const" pointer to functions:
|
|
- G4EquationOfMotion::GetFieldObj()
|
|
- G4FieldManager::GetDetectorField()
|
|
- G4MagIntegratorDriver::GetStepper()
|
|
o Fixed and corrected signature to G4MagIntegratorDriver::SetHmin().
|
|
o Added "inline" qualifier to methods' declarations.
|
|
o General cosmetics
|
|
|
|
Jun 2nd, 2000 J. Apostolakis
|
|
- G4FieldManager[.hh.icc]
|
|
o Added DeltaIntersection and DeltaOneStep to FieldManager: added
|
|
Get/Set methods and SetAccuraciesWithDeltaOneStep().
|
|
|
|
May 11th, 2000 J. Apostolakis - field-V01-01-02
|
|
|
|
- G4ChordFinder[.hh.cc]
|
|
o Modified method for finding new trial step.
|
|
New method assumes a quadratic relationship between step-length and d_chord:
|
|
d_chord proportional to step-lenght ^ 2
|
|
o Added two small refinement in order to avoid unneccesary extra step due to
|
|
small numerical inaccuracies in estimation:
|
|
FindNextChord
|
|
to first step use (1-0.001) * last-step-estimate
|
|
New Step:
|
|
to subsequent step use trial_step = 0.98 * estimate
|
|
|
|
May 10th, 2000 G. Cosmo
|
|
|
|
- G4MagneticField.hh: minor fix to dummy implementation of assignment
|
|
operator.
|
|
|
|
May 9th, 2000 J. Apostolakis - field-V01-01-01
|
|
|
|
- G4MagErrorStepper:
|
|
Modified DistChord to check whether the chord endpoint are the same point.
|
|
|
|
- G4RKG3_Stepper:
|
|
Deleted error message from StepNoErr, as it is used in Stepper.
|
|
|
|
- G4MagIntegratorDriver:
|
|
Changed the condition for the debug output (~cosmetic)
|
|
|
|
|
|
April 27th, 2000 G. Cosmo
|
|
|
|
- Reorganised comments for the Software Reference Manual.
|
|
- Moved inlined definition to .icc files, where needed.
|
|
Created: G4ChordFinder.icc and G4FieldManager.icc.
|
|
|
|
April 13th, 2000 J. Apostolakis - field-V01-01-00
|
|
|
|
- Modified signature to function DumbStepper() in classes:
|
|
G4HelixExplicitEuler, G4HelixHeum, G4HelixImplicitEuler,
|
|
G4HelixSimpleRunge and G4MagHelicalStepper.
|
|
- Modified signature and implementation of function MagFieldEvaluate()
|
|
in G4MagHelicalStepper, to use Field (as ThreeVector) in place of dydx.
|
|
- Made Richardson extrapolation optional (it is unclear if
|
|
it offers benefit) in G4MagHelicalStepper.
|
|
- Updated unit test testPropagateMagField and reference output.
|
|
- G4LineSection: fixes to prevent divisions by 0. and sqrt(<0)
|
|
(V.Grichine).
|
|
|
|
January 19th, 2000 G. Cosmo - field-V01-00-00
|
|
|
|
Syncronized versioning of files with HEAD after ISO-C++ migration
|
|
(essentially CVS header changes).
|
|
|
|
December 7th, 1999 J. Apostolakis - field-V00-01-01a
|
|
|
|
For negative or very small curve lengths (h) we suppress writing an error
|
|
(about the distance of endpoints being further than the curve length),
|
|
as it is meaningless.
|
|
|
|
November 23rd, 1999 J. Apostolakis - field-V00-01-01
|
|
|
|
Tagged this sub-category's state in geometry-V00-01-01
|
|
|
|
|
|
July 6th, 1999 J. Apostolakis - field-01-00-07
|
|
|
|
These fixes and those in field-01-00-06 and field-01-00-06a all come
|
|
from the need to cope with the imprecision of the integration, and its
|
|
interaction with paths that are rather straight.
|
|
|
|
G4MagIntegrationDriver:
|
|
i) AccurateAdvance now that the chord distance is smaller than the curve len-
|
|
gth (times 1+epsilon).
|
|
|
|
ii) OneGoodStep and QuickAdvance considers the error of the velocity as well as
|
|
the error of the position - and ensure that both relative errors are within
|
|
the "eps" maximum given.
|
|
|
|
G4ChordFinder:
|
|
Having found that the curve_length vs ABdist disrepancy has its basis in
|
|
the imprecision of the integration:
|
|
i) Modified the exception in this case to happen only for very large
|
|
relative disrepancies ( 10 * eps ).
|
|
ii) Undertaken a default corrective action in all other cases
|
|
Note that this disrepancy only happens for very straight sections of track -
|
|
ie step lengths much smaller than the curvature of the track.
|
|
|
|
July 1st, 1999 J. Apostolakis - field-01-00-06a
|
|
|
|
In order to cope with the anomalous condition created by candidate fix
|
|
in G4PropagatorInField, we ensure that the fraction_AE is always between
|
|
0 and 1.0. (giving it a default value of 0.5 whenever it is wrong).
|
|
( in G4ChordFinder::ApproxCurvePointV )
|
|
|
|
June 29th, 1999 J. Apostolakis - field-01-00-06
|
|
|
|
I re-instated a check on whether the input distance along the curve between
|
|
the two input curve points is truly greater than their linear distance.
|
|
( in G4ChordFinder::ApproxCurvePointV )
|
|
|
|
The condition that prints out a warning message has been altered to
|
|
take into account the case of a very small final interval.
|
|
( in G4MagInt_Driver::AccurateAdvance )
|
|
|
|
June ??th, 1999 J. Apostolakis - field-01-00-05
|
|
|
|
The condition that prints out a warning message was changed to delete
|
|
an incorrect comparison.
|
|
( in G4MagInt_Driver::AccurateAdvance )
|
|
|
|
April 19th, 1999 J. Apostolakis - field-01-00-04
|
|
|
|
G4MagErrorStepper: Cosmetic changes to name of data members
|
|
|
|
March 4th, 1999 J. Apostolakis - field-01-00-03
|
|
|
|
Corrected delete statement of arrays to use 'delete[]' instead of simple delete
|
|
in destructors of 2 steppers (G4CashKarpRKF45, G4SimpleHeum)
|
|
|
|
February 17th, 1999 J. Apostolakis - field-01-00-02
|
|
|
|
Moved G4PropagatorInField files to geometry/volumes.
|
|
Updated GNUmakefile not to depend on geometry/volumes anymore.
|
|
-> the known circular dependency is removed
|
|
|
|
|
|
February 12th, 1999 J. Apostolakis - field-spin1-works1 (act Feb17)
|
|
|
|
A tag that contains the first version that worked with spin (in Peter G.'s
|
|
directory). G4PropagateInSpin is still in this version. A small change
|
|
in a branch of the header file was needed.
|
|
|
|
|
|
February 10th, 1999 J. Apostolakis
|
|
|
|
All the following changes are needed for energy integration also:
|
|
|
|
G4ChordFinder now passes to the constructed driver the number of variables.
|
|
Because of the need for the stepper to know about it in its Abstract interface
|
|
|
|
-> Moved theNumberOfVariables from derived class G4MagErrorStepper
|
|
to base class G4MagIntegratorStepper
|
|
|
|
As a consequense the classes that derived from G4MagIntegratorStepper directly
|
|
were changed: G4CashKarpRKF45, G4MagHelicalStepper,
|
|
|
|
|
|
February 9th, 1999 J. Apostolakis
|
|
|
|
Equation of Motion:
|
|
G4MagEqRhs.hh Made SetChargeMomentumMass virtual, so that G4Mag_SpinEqRhs
|
|
can initialise its constants too.
|
|
|
|
|
|
February 9th, 1999 P. Gumplinger
|
|
|
|
Added Equation of Motion for Spin in Magnetic Field.
|
|
|
|
|
|
February 17th, 1999 J. Apostolakis - field-01-00-01
|
|
---> date is correct, made sure that tag does not include above fixes!
|
|
|
|
Moved G4PropagatorInField files to geometry/volumes.
|
|
Updated GNUmakefile not to depend on geometry/volumes anymore.
|
|
-> the known circular dependency is removed
|
|
|
|
|
|
---------------------------------------------------------------------------
|
|
------ Geant 4 Production Release ------------
|
|
--------------------------------------------------------------------------
|
|
Nov 19th, 1998 J. Apostolakis - field-00-04-01head ===> R+D version only
|
|
|
|
G4PropagatorInField files modified:
|
|
|
|
- to store the last safety computed and its origin.
|
|
- to give them to a requester
|
|
------------------------------------------------------------------
|
|
|
|
Nov 19th, 1998 J. Apostolakis - field-00-03-03b
|
|
|
|
Subtle fix to interface of G4UniformMagField::GetFieldValue
|
|
( that tripped Visual C++ )
|
|
|
|
G4PropagatorInField: added printing method for verboseness.
|
|
|
|
Nov 19th, 1998 J. Apostolakis - field-00-03-03a
|
|
|
|
Steppers: Fixed instance variables construction (SimpleRunge)
|
|
and clash of names in CashKarp::StepWithEstimate
|
|
|
|
Added post-const to all Field classes for
|
|
void GetFieldValue(const G4double yTrack[] ,
|
|
G4double B[] ) const ;
|
|
|
|
Added SetFieldValue methods to UniformMagField
|
|
|
|
Added GetConstantFieldValue() methods to Uniform Mag & Electric Fields
|
|
|
|
|
|
Nov 19th, 1998 J. Apostolakis - field-00-03-03
|
|
|
|
Fixes to Propagate and Steppers
|
|
|
|
Nov 19th, 1998 J. Apostolakis - field-00-03-02
|
|
|
|
Minor corrections (???)
|
|
|
|
Nov 19th, 1998 J. Apostolakis - field-00-03-02
|
|
|
|
Major development to allow Electric Field
|
|
|
|
|
|
|
|
June 17th, 1998 J. Apostolakis - magfield-06-03
|
|
|
|
Modified Files:
|
|
include/G4PropagatorInField.hh
|
|
src/G4PropagatorInField.cc
|
|
test/testPropagateInField.cc
|
|
----------------------------------------------------------------------
|
|
|
|
1) Added an assertion after each call to LocateGlobalPointAndSetup.
|
|
It checks that the located volume is equal to the current volume.
|
|
If this check fails, the Propagator does not know how to continue.
|
|
|
|
2) Added an argument to ComputeStep method of G4PropagatorInField.
|
|
The new volume argument is used to check the current volume during the step.
|
|
|
|
3) When G4Navigator's ComputeStep returned stepLength==stepRequested, this
|
|
used to be treated as a failure to intersect. This is incorrect.
|
|
|
|
stepLength==stepRequested is an intersection,
|
|
so I am now treating it as such in each comparison (of 3).
|
|
Ignoring it causes problems, including volume being skipped.
|
|
--> but treating it as an intersection used to cause problems too ??
|
|
|
|
|
|
May 7th, 1998 J. Apostolakis - magfield-06-02-helix01
|
|
|
|
- Tag includes new version of G4ChordFinder (not used by W.Wander).
|
|
|
|
|
|
May 7th, 1998 W. Wander (recorded/commited by J. Apostolakis)
|
|
|
|
- New "helical" RK steppers that move in helical segments, not linear.
|
|
* Several changes to add steppers
|
|
|
|
Modified Files:
|
|
G4MagErrorStepper.hh
|
|
G4MagErrorStepper.cc
|
|
added Helical stepping methods to this general ABC.
|
|
|
|
G4MagIntegratorStepper.hh
|
|
made RightHandSide virtual (this will be reversed very soon)
|
|
|
|
testPropagateMagField.cc
|
|
Test of Helical stepping functionality added.
|
|
|
|
Added Files for new Helical RK steppers, deriving from G4MagErrorStepper:
|
|
G4HelixExplicitEuler.cc ( and .hh )
|
|
G4HelixHeum.cc
|
|
G4HelixImplicitEuler.cc
|
|
G4HelixSimpleRunge.cc
|
|
|
|
Added File for implementation:
|
|
G4MagErrorStepper.icc
|
|
|
|
|
|
May 7th, 1998 J. Apostolakis - magfield-06-01
|
|
|
|
- added small changes to
|
|
* G4ChordFinder: methods to get/set IntegratorDriver
|
|
* G4MagIntegratorDriver: made OneGoodStep method public
|
|
- created the file.
|
|
|