ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4FSALIntegrationDriver< T > Class Template Reference

#include <geant4/tree/geant4-10.6-release/source/geometry/magneticfield/include/G4FSALIntegrationDriver.hh>

+ Inheritance diagram for G4FSALIntegrationDriver< T >:
+ Collaboration diagram for G4FSALIntegrationDriver< T >:

Public Member Functions

 G4FSALIntegrationDriver (G4double hminimum, T *stepper, G4int numberOfComponents=6, G4int statisticsVerbosity=1)
 
virtual ~G4FSALIntegrationDriver () override
 
 G4FSALIntegrationDriver (const G4FSALIntegrationDriver &)=delete
 
G4FSALIntegrationDriveroperator= (const G4FSALIntegrationDriver &)=delete
 
virtual G4double AdvanceChordLimited (G4FieldTrack &track, G4double hstep, G4double eps, G4double chordDistance) override
 
virtual void OnStartTracking () override
 
virtual void OnComputeStep () override
 
virtual G4bool DoesReIntegrate () override
 
virtual G4bool AccurateAdvance (G4FieldTrack &track, G4double hstep, G4double eps, G4double hinitial=0.0) override
 
virtual G4bool QuickAdvance (G4FieldTrack &fieldTrack, const G4double dydx[], G4double hstep, G4double &dchord_step, G4double &dyerr) override
 
virtual void SetVerboseLevel (G4int newLevel) override
 
virtual G4int GetVerboseLevel () const override
 
G4double GetMinimumStep () const
 
void SetMinimumStep (G4double newval)
 
void OneGoodStep (G4double y[], G4double dydx[], G4double &curveLength, G4double htry, G4double eps, G4double &hdid, G4double &hnext)
 
G4double GetSmallestFraction () const
 
void SetSmallestFraction (G4double val)
 
- Public Member Functions inherited from G4RKIntegrationDriver< T >
 G4RKIntegrationDriver (T *stepper)
 
 G4RKIntegrationDriver (const G4RKIntegrationDriver &)=delete
 
G4RKIntegrationDriveroperator= (const G4RKIntegrationDriver &)=delete
 
virtual void GetDerivatives (const G4FieldTrack &track, G4double dydx[]) const override
 
virtual void GetDerivatives (const G4FieldTrack &track, G4double dydx[], G4double field[]) const override
 
virtual G4double ComputeNewStepSize (G4double errMaxNorm, G4double hstepCurrent) override
 
virtual G4EquationOfMotionGetEquationOfMotion () override
 
virtual void SetEquationOfMotion (G4EquationOfMotion *equation) override
 
virtual const TGetStepper () const override
 
virtual TGetStepper () override
 
G4double GetSafety () const
 
G4double GetPshrnk () const
 
G4double GetPgrow () const
 
virtual void RenewStepperAndAdjust (G4MagIntegratorStepper *stepper) override
 
void ReSetParameters (G4double safety=0.9)
 
void SetSafety (G4double valS)
 
G4int GetMaxNoSteps () const
 
void SetMaxNoSteps (G4int val)
 
G4double GetSmallestFraction () const
 
void SetSmallestFraction (G4double val)
 
- Public Member Functions inherited from G4VIntegrationDriver
virtual ~G4VIntegrationDriver ()=default
 
- Public Member Functions inherited from G4ChordFinderDelegate< G4FSALIntegrationDriver< T > >
virtual ~G4ChordFinderDelegate ()
 
G4double AdvanceChordLimitedImpl (G4FieldTrack &track, G4double hstep, G4double eps, G4double chordDistance)
 
void ResetStepEstimate ()
 
void TestChordPrint (G4int noTrials, G4int lastStepTrial, G4double dChordStep, G4double fDeltaChord, G4double nextStepTrial)
 
G4int GetNoCalls ()
 
G4int GetNoTrials ()
 
G4int GetNoMaxTrials ()
 
void SetFractions_Last_Next (G4double fractLast=0.90, G4double fractNext=0.95)
 
void SetFirstFraction (G4double fractFirst)
 
G4double GetFirstFraction ()
 
G4double GetFractionLast ()
 
G4double GetFractionNextEstimate ()
 
G4double GetLastStepEstimateUnc ()
 
void SetLastStepEstimateUnc (G4double stepEst)
 

Protected Member Functions

void IncrementQuickAdvanceCalls ()
 
- Protected Member Functions inherited from G4RKIntegrationDriver< T >
G4double ShrinkStepSize (G4double h, G4double error) const
 
G4double GrowStepSize (G4double h, G4double error) const
 
G4double ShrinkStepSize2 (G4double h, G4double error2) const
 
G4double GrowStepSize2 (G4double h, G4double error2) const
 
void UpdateErrorConstraints ()
 

Private Types

using Base = G4RKIntegrationDriver< T >
 
using ChordFinderDelegate = G4ChordFinderDelegate< G4FSALIntegrationDriver< T >>
 

Private Member Functions

void CheckStep (const G4ThreeVector &posIn, const G4ThreeVector &posOut, G4double hdid)
 

Private Attributes

G4double fMinimumStep
 
G4double fSmallestFraction
 
G4int fVerboseLevel
 
G4int fNoQuickAvanceCalls
 
G4int fNoAccurateAdvanceCalls
 
G4int fNoAccurateAdvanceBadSteps
 
G4int fNoAccurateAdvanceGoodSteps
 

Additional Inherited Members

- Static Protected Attributes inherited from G4VIntegrationDriver
static constexpr G4double max_stepping_increase = 5
 
static constexpr G4double max_stepping_decrease = 0.1
 

Detailed Description

template<class T>
class G4FSALIntegrationDriver< T >

Definition at line 41 of file G4FSALIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 41 of file G4FSALIntegrationDriver.hh

Member Typedef Documentation

template<class T>
using G4FSALIntegrationDriver< T >::Base = G4RKIntegrationDriver<T>
private

Definition at line 136 of file G4FSALIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 136 of file G4FSALIntegrationDriver.hh

Definition at line 137 of file G4FSALIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 137 of file G4FSALIntegrationDriver.hh

Constructor & Destructor Documentation

template<class T>
G4FSALIntegrationDriver< T >::G4FSALIntegrationDriver ( G4double  hminimum,
T stepper,
G4int  numberOfComponents = 6,
G4int  statisticsVerbosity = 1 
)
template<class T>
virtual G4FSALIntegrationDriver< T >::~G4FSALIntegrationDriver ( )
overridevirtual
template<class T>
G4FSALIntegrationDriver< T >::G4FSALIntegrationDriver ( const G4FSALIntegrationDriver< T > &  )
delete

Member Function Documentation

template<class T>
virtual G4bool G4FSALIntegrationDriver< T >::AccurateAdvance ( G4FieldTrack track,
G4double  hstep,
G4double  eps,
G4double  hinitial = 0.0 
)
overridevirtual

Implements G4VIntegrationDriver.

template<class T>
virtual G4double G4FSALIntegrationDriver< T >::AdvanceChordLimited ( G4FieldTrack track,
G4double  hstep,
G4double  eps,
G4double  chordDistance 
)
overridevirtual

Implements G4VIntegrationDriver.

template<class T>
void G4FSALIntegrationDriver< T >::CheckStep ( const G4ThreeVector posIn,
const G4ThreeVector posOut,
G4double  hdid 
)
private
template<class T>
virtual G4bool G4FSALIntegrationDriver< T >::DoesReIntegrate ( )
inlineoverridevirtual

Implements G4VIntegrationDriver.

Definition at line 69 of file G4FSALIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 69 of file G4FSALIntegrationDriver.hh

template<class T>
G4double G4FSALIntegrationDriver< T >::GetMinimumStep ( ) const
template<class T>
G4double G4FSALIntegrationDriver< T >::GetSmallestFraction ( ) const
template<class T>
virtual G4int G4FSALIntegrationDriver< T >::GetVerboseLevel ( ) const
overridevirtual

Implements G4VIntegrationDriver.

template<class T>
void G4FSALIntegrationDriver< T >::IncrementQuickAdvanceCalls ( )
protected
template<class T>
virtual void G4FSALIntegrationDriver< T >::OnComputeStep ( )
inlineoverridevirtual

Implements G4VIntegrationDriver.

Definition at line 67 of file G4FSALIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 67 of file G4FSALIntegrationDriver.hh

template<class T>
void G4FSALIntegrationDriver< T >::OneGoodStep ( G4double  y[],
G4double  dydx[],
G4double curveLength,
G4double  htry,
G4double  eps,
G4double hdid,
G4double hnext 
)
template<class T>
virtual void G4FSALIntegrationDriver< T >::OnStartTracking ( )
inlineoverridevirtual

Implements G4VIntegrationDriver.

Definition at line 62 of file G4FSALIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 62 of file G4FSALIntegrationDriver.hh

References G4ChordFinderDelegate< Driver >::ResetStepEstimate().

+ Here is the call graph for this function:

template<class T>
G4FSALIntegrationDriver& G4FSALIntegrationDriver< T >::operator= ( const G4FSALIntegrationDriver< T > &  )
delete
template<class T>
virtual G4bool G4FSALIntegrationDriver< T >::QuickAdvance ( G4FieldTrack fieldTrack,
const G4double  dydx[],
G4double  hstep,
G4double dchord_step,
G4double dyerr 
)
overridevirtual

Reimplemented from G4VIntegrationDriver.

template<class T>
void G4FSALIntegrationDriver< T >::SetMinimumStep ( G4double  newval)
template<class T>
void G4FSALIntegrationDriver< T >::SetSmallestFraction ( G4double  val)
template<class T>
virtual void G4FSALIntegrationDriver< T >::SetVerboseLevel ( G4int  newLevel)
overridevirtual

Implements G4VIntegrationDriver.

Member Data Documentation

template<class T>
G4double G4FSALIntegrationDriver< T >::fMinimumStep
private

Definition at line 118 of file G4FSALIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 118 of file G4FSALIntegrationDriver.hh

template<class T>
G4int G4FSALIntegrationDriver< T >::fNoAccurateAdvanceBadSteps
private

Definition at line 133 of file G4FSALIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 133 of file G4FSALIntegrationDriver.hh

template<class T>
G4int G4FSALIntegrationDriver< T >::fNoAccurateAdvanceCalls
private

Definition at line 132 of file G4FSALIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 132 of file G4FSALIntegrationDriver.hh

template<class T>
G4int G4FSALIntegrationDriver< T >::fNoAccurateAdvanceGoodSteps
private

Definition at line 134 of file G4FSALIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 134 of file G4FSALIntegrationDriver.hh

template<class T>
G4int G4FSALIntegrationDriver< T >::fNoQuickAvanceCalls
private

Definition at line 131 of file G4FSALIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 131 of file G4FSALIntegrationDriver.hh

template<class T>
G4double G4FSALIntegrationDriver< T >::fSmallestFraction
private

Definition at line 121 of file G4FSALIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 121 of file G4FSALIntegrationDriver.hh

template<class T>
G4int G4FSALIntegrationDriver< T >::fVerboseLevel
private

Definition at line 127 of file G4FSALIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 127 of file G4FSALIntegrationDriver.hh


The documentation for this class was generated from the following file: