ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4VIntegrationDriver Class Referenceabstract

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

+ Inheritance diagram for G4VIntegrationDriver:

Public Member Functions

virtual ~G4VIntegrationDriver ()=default
 
virtual G4double AdvanceChordLimited (G4FieldTrack &track, G4double hstep, G4double eps, G4double chordDistance)=0
 
virtual G4bool AccurateAdvance (G4FieldTrack &track, G4double hstep, G4double eps, G4double hinitial=0)=0
 
virtual void SetEquationOfMotion (G4EquationOfMotion *equation)=0
 
virtual G4EquationOfMotionGetEquationOfMotion ()=0
 
virtual void RenewStepperAndAdjust (G4MagIntegratorStepper *pItsStepper)
 
virtual void SetVerboseLevel (G4int level)=0
 
virtual G4int GetVerboseLevel () const =0
 
virtual void OnComputeStep ()=0
 
virtual void OnStartTracking ()=0
 
virtual G4bool QuickAdvance (G4FieldTrack &, const G4double[], G4double, G4double &, G4double &)
 
virtual void GetDerivatives (const G4FieldTrack &track, G4double dydx[]) const =0
 
virtual void GetDerivatives (const G4FieldTrack &track, G4double dydx[], G4double field[]) const =0
 
virtual const
G4MagIntegratorStepper
GetStepper () const =0
 
virtual G4MagIntegratorStepperGetStepper ()=0
 
virtual G4double ComputeNewStepSize (G4double errMaxNorm, G4double hstepCurrent)=0
 
virtual G4bool DoesReIntegrate ()=0
 

Static Protected Attributes

static constexpr G4double max_stepping_increase = 5
 
static constexpr G4double max_stepping_decrease = 0.1
 

Detailed Description

Definition at line 51 of file G4VIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 51 of file G4VIntegrationDriver.hh

Constructor & Destructor Documentation

virtual G4VIntegrationDriver::~G4VIntegrationDriver ( )
virtualdefault

Member Function Documentation

virtual G4bool G4VIntegrationDriver::AccurateAdvance ( G4FieldTrack track,
G4double  hstep,
G4double  eps,
G4double  hinitial = 0 
)
pure virtual
virtual G4double G4VIntegrationDriver::AdvanceChordLimited ( G4FieldTrack track,
G4double  hstep,
G4double  eps,
G4double  chordDistance 
)
pure virtual

Implemented in G4IntegrationDriver< T >, G4InterpolationDriver< T >, G4IntegrationDriver< G4BulirschStoer >, G4MagInt_Driver, G4FSALIntegrationDriver< T >, and G4BFieldIntegrationDriver.

Referenced by G4BFieldIntegrationDriver::AdvanceChordLimited().

+ Here is the caller graph for this function:

virtual G4double G4VIntegrationDriver::ComputeNewStepSize ( G4double  errMaxNorm,
G4double  hstepCurrent 
)
pure virtual

Implemented in G4MagInt_Driver, G4IntegrationDriver< G4BulirschStoer >, G4BFieldIntegrationDriver, and G4RKIntegrationDriver< T >.

Referenced by G4BFieldIntegrationDriver::ComputeNewStepSize().

+ Here is the caller graph for this function:

virtual G4bool G4VIntegrationDriver::DoesReIntegrate ( )
pure virtual

Implemented in G4IntegrationDriver< G4BulirschStoer >, G4IntegrationDriver< T >, G4FSALIntegrationDriver< T >, G4InterpolationDriver< T >, G4BFieldIntegrationDriver, and G4MagInt_Driver.

Referenced by G4BFieldIntegrationDriver::DoesReIntegrate(), and G4MultiLevelLocator::EstimateIntersectionPoint().

+ Here is the caller graph for this function:

virtual void G4VIntegrationDriver::GetDerivatives ( const G4FieldTrack track,
G4double  dydx[] 
) const
pure virtual

Implemented in G4MagInt_Driver, G4IntegrationDriver< G4BulirschStoer >, G4BFieldIntegrationDriver, and G4RKIntegrationDriver< T >.

Referenced by G4BFieldIntegrationDriver::GetDerivatives().

+ Here is the caller graph for this function:

virtual void G4VIntegrationDriver::GetDerivatives ( const G4FieldTrack track,
G4double  dydx[],
G4double  field[] 
) const
pure virtual
virtual G4EquationOfMotion* G4VIntegrationDriver::GetEquationOfMotion ( )
pure virtual

Implemented in G4IntegrationDriver< G4BulirschStoer >, G4MagInt_Driver, G4BFieldIntegrationDriver, and G4RKIntegrationDriver< T >.

Referenced by G4BFieldIntegrationDriver::GetEquationOfMotion(), G4ErrorPropagatorManager::InitFieldForBackwards(), and G4FieldManager::SetDetectorField().

+ Here is the caller graph for this function:

virtual const G4MagIntegratorStepper* G4VIntegrationDriver::GetStepper ( ) const
pure virtual

Implemented in G4MagInt_Driver, G4IntegrationDriver< G4BulirschStoer >, G4BFieldIntegrationDriver, and G4RKIntegrationDriver< T >.

Referenced by F01FieldSetup::CreateFSALStepperAndDriver(), and G4BFieldIntegrationDriver::GetStepper().

+ Here is the caller graph for this function:

virtual G4MagIntegratorStepper* G4VIntegrationDriver::GetStepper ( )
pure virtual
virtual G4int G4VIntegrationDriver::GetVerboseLevel ( ) const
pure virtual

Implemented in G4MagInt_Driver, G4BFieldIntegrationDriver, G4IntegrationDriver< G4BulirschStoer >, G4IntegrationDriver< T >, G4FSALIntegrationDriver< T >, and G4InterpolationDriver< T >.

Referenced by G4BFieldIntegrationDriver::GetVerboseLevel().

+ Here is the caller graph for this function:

virtual void G4VIntegrationDriver::OnComputeStep ( )
pure virtual

Implemented in G4BFieldIntegrationDriver, G4IntegrationDriver< G4BulirschStoer >, G4IntegrationDriver< T >, G4FSALIntegrationDriver< T >, G4InterpolationDriver< T >, and G4MagInt_Driver.

Referenced by G4BFieldIntegrationDriver::AdvanceChordLimited().

+ Here is the caller graph for this function:

virtual G4bool G4VIntegrationDriver::QuickAdvance ( G4FieldTrack ,
const G4double  [],
G4double  ,
G4double ,
G4double  
)
inlinevirtual

Reimplemented in G4IntegrationDriver< G4BulirschStoer >, G4IntegrationDriver< T >, G4FSALIntegrationDriver< T >, and G4MagInt_Driver.

Definition at line 83 of file G4VIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 83 of file G4VIntegrationDriver.hh

void G4VIntegrationDriver::RenewStepperAndAdjust ( G4MagIntegratorStepper pItsStepper)
virtual

Reimplemented in G4MagInt_Driver, and G4RKIntegrationDriver< T >.

Definition at line 34 of file G4VIntegrationDriver.cc.

View newest version in sPHENIX GitHub at line 34 of file G4VIntegrationDriver.cc

References FatalException, and G4Exception().

+ Here is the call graph for this function:

virtual void G4VIntegrationDriver::SetEquationOfMotion ( G4EquationOfMotion equation)
pure virtual
virtual void G4VIntegrationDriver::SetVerboseLevel ( G4int  level)
pure virtual

Implemented in G4MagInt_Driver, G4BFieldIntegrationDriver, G4IntegrationDriver< G4BulirschStoer >, G4IntegrationDriver< T >, G4FSALIntegrationDriver< T >, and G4InterpolationDriver< T >.

Referenced by G4PropagatorInField::SetVerboseLevel().

+ Here is the caller graph for this function:

Member Data Documentation

constexpr G4double G4VIntegrationDriver::max_stepping_decrease = 0.1
staticprotected

Definition at line 117 of file G4VIntegrationDriver.hh.

View newest version in sPHENIX GitHub at line 117 of file G4VIntegrationDriver.hh

Referenced by G4MagInt_Driver::ComputeNewStepSize_WithinLimits().

constexpr G4double G4VIntegrationDriver::max_stepping_increase = 5
staticprotected

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