Import Geant4 10.5.0 source tree

This commit is contained in:
Gabriele Cosmo
2018-12-07 15:15:39 +01:00
parent 6aa23be517
commit db49709b53
11370 changed files with 187480 additions and 160142 deletions
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id: G4MagIntegratorDriver.hh 109569 2018-05-02 07:08:33Z gcosmo $
//
//
// class G4MagInt_Driver
@@ -43,8 +42,10 @@
#include "G4VIntegrationDriver.hh"
#include "G4MagIntegratorStepper.hh"
#include "G4ChordFinderDelegate.hh"
class G4MagInt_Driver : public G4VIntegrationDriver
class G4MagInt_Driver : public G4VIntegrationDriver,
public G4ChordFinderDelegate<G4MagInt_Driver>
{
public: // with description
@@ -59,6 +60,22 @@ public: // with description
G4MagInt_Driver& operator=(const G4MagInt_Driver&) = delete;
// deleted Private copy constructor and assignment operator.
virtual G4double AdvanceChordLimited(G4FieldTrack& track,
G4double stepMax,
G4double epsStep,
G4double chordDistance) override
{
return ChordFinderDelegate::AdvanceChordLimitedImpl(track, stepMax, epsStep, chordDistance);
}
virtual void OnComputeStep() override
{
ChordFinderDelegate::ResetStepEstimate();
}
virtual void OnStartTracking() override {};
virtual G4bool AccurateAdvance(G4FieldTrack& y_current,
G4double hstep,
G4double eps, // Requested y_err/hstep
@@ -71,7 +88,8 @@ public: // with description
virtual G4bool QuickAdvance(G4FieldTrack& y_val, // INOUT
const G4double dydx[],
G4double hstep, // IN
G4double hstep,
G4double inverseCurvatureRadius,
G4double& dchord_step,
G4double& dyerr) override;
// QuickAdvance just tries one Step - it does not ensure accuracy.
@@ -93,8 +111,12 @@ public: // with description
inline G4double GetPshrnk() const;
inline G4double GetPgrow() const;
inline G4double GetErrcon() const;
virtual void GetDerivatives(const G4FieldTrack &y_curr, // const, INput
virtual void GetDerivatives(const G4FieldTrack& y_curr, // const, INput
G4double dydx[]) const override; // OUTput
virtual void GetDerivatives(const G4FieldTrack& track,
G4double dydx[],
G4double field[]) const override;
// Accessors.
virtual G4EquationOfMotion* GetEquationOfMotion() override;
@@ -245,6 +267,8 @@ private:
G4int fVerboseLevel; // Verbosity level for printing (debug, ..)
// Could be varied during tracking - to help identify issues
using ChordFinderDelegate = G4ChordFinderDelegate<G4MagInt_Driver>;
};
#include "G4MagIntegratorDriver.icc"