Geant4-11
Public Member Functions | Protected Member Functions | Private Attributes
G4MagIntegratorStepper Class Referenceabstract

#include <G4MagIntegratorStepper.hh>

Inheritance diagram for G4MagIntegratorStepper:
G4TMagErrorStepper< G4TClassicalRK4< T_Equation, N >, T_Equation, N > G4TMagErrorStepper< G4TExplicitEuler< T_Equation, N >, T_Equation, N > G4TMagErrorStepper< G4TSimpleHeum< T_Equation, N >, T_Equation, N > G4TMagErrorStepper< G4TSimpleRunge< T_Equation, N >, T_Equation, N > G4BogackiShampine23 G4BogackiShampine45 G4CashKarpRKF45 G4DoLoMcPriRK34 G4DormandPrince745 G4DormandPrinceRK56 G4DormandPrinceRK78 G4MagErrorStepper G4MagHelicalStepper G4NystromRK4 G4RK547FEq1 G4RK547FEq2 G4RK547FEq3 G4RKG3_Stepper G4TCashKarpRKF45< T_Equation, N > G4TDormandPrince45< T_Equation, N > G4TMagErrorStepper< T_Stepper, T_Equation, N > G4TsitourasRK45

Public Member Functions

virtual G4double DistChord () const =0
 
 G4MagIntegratorStepper (const G4MagIntegratorStepper &)=delete
 
 G4MagIntegratorStepper (G4EquationOfMotion *Equation, G4int numIntegrationVariables, G4int numStateVariables=12, G4bool isFSAL=false)
 
G4EquationOfMotionGetEquationOfMotion ()
 
const G4EquationOfMotionGetEquationOfMotion () const
 
unsigned long GetfNoRHSCalls ()
 
G4int GetNumberOfStateVariables () const
 
G4int GetNumberOfVariables () const
 
G4int IntegrationOrder ()
 
virtual G4int IntegratorOrder () const =0
 
G4bool IsFSAL () const
 
void NormalisePolarizationVector (G4double vec[12])
 
void NormaliseTangentVector (G4double vec[6])
 
G4MagIntegratorStepperoperator= (const G4MagIntegratorStepper &)=delete
 
void ResetfNORHSCalls ()
 
void RightHandSide (const G4double y[], G4double dydx[]) const
 
void RightHandSide (const G4double y[], G4double dydx[], G4double field[]) const
 
void SetEquationOfMotion (G4EquationOfMotion *newEquation)
 
virtual void Stepper (const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[])=0
 
virtual ~G4MagIntegratorStepper ()=default
 

Protected Member Functions

void SetFSAL (G4bool flag=true)
 
void SetIntegrationOrder (G4int order)
 

Private Attributes

G4EquationOfMotionfEquation_Rhs = nullptr
 
G4int fIntegrationOrder = -1
 
G4bool fIsFSAL = false
 
const G4int fNoIntegrationVariables = 0
 
unsigned long fNoRHSCalls = 0UL
 
const G4int fNoStateVariables = 0
 

Detailed Description

Definition at line 47 of file G4MagIntegratorStepper.hh.

Constructor & Destructor Documentation

◆ G4MagIntegratorStepper() [1/2]

G4MagIntegratorStepper::G4MagIntegratorStepper ( G4EquationOfMotion Equation,
G4int  numIntegrationVariables,
G4int  numStateVariables = 12,
G4bool  isFSAL = false 
)

Definition at line 37 of file G4MagIntegratorStepper.cc.

42 : fEquation_Rhs(Equation),
43 fNoIntegrationVariables(num_integration_vars),
44 fNoStateVariables(std::max(num_state_vars,8)),
45 fIsFSAL(isFSAL)
46{
47 if( Equation == nullptr ) {
48 G4Exception( "G4MagIntegratorStepper::G4MagIntegratorStepper", "GeomField0003",
49 FatalErrorInArgument, "Must have non-null equation." );
50 }
51 assert( Equation != nullptr );
52}
@ FatalErrorInArgument
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35
G4EquationOfMotion * fEquation_Rhs
T max(const T t1, const T t2)
brief Return the largest of the two arguments

References FatalErrorInArgument, and G4Exception().

◆ ~G4MagIntegratorStepper()

virtual G4MagIntegratorStepper::~G4MagIntegratorStepper ( )
virtualdefault

◆ G4MagIntegratorStepper() [2/2]

G4MagIntegratorStepper::G4MagIntegratorStepper ( const G4MagIntegratorStepper )
delete

Member Function Documentation

◆ DistChord()

virtual G4double G4MagIntegratorStepper::DistChord ( ) const
pure virtual

◆ GetEquationOfMotion() [1/2]

G4EquationOfMotion * G4MagIntegratorStepper::GetEquationOfMotion ( )
inline

◆ GetEquationOfMotion() [2/2]

const G4EquationOfMotion * G4MagIntegratorStepper::GetEquationOfMotion ( ) const
inline

◆ GetfNoRHSCalls()

unsigned long G4MagIntegratorStepper::GetfNoRHSCalls ( )
inline

◆ GetNumberOfStateVariables()

G4int G4MagIntegratorStepper::GetNumberOfStateVariables ( ) const
inline

◆ GetNumberOfVariables()

G4int G4MagIntegratorStepper::GetNumberOfVariables ( ) const
inline

◆ IntegrationOrder()

G4int G4MagIntegratorStepper::IntegrationOrder ( )
inline

◆ IntegratorOrder()

virtual G4int G4MagIntegratorStepper::IntegratorOrder ( ) const
pure virtual

◆ IsFSAL()

G4bool G4MagIntegratorStepper::IsFSAL ( ) const
inline

◆ NormalisePolarizationVector()

void G4MagIntegratorStepper::NormalisePolarizationVector ( G4double  vec[12])
inline

◆ NormaliseTangentVector()

void G4MagIntegratorStepper::NormaliseTangentVector ( G4double  vec[6])
inline

◆ operator=()

G4MagIntegratorStepper & G4MagIntegratorStepper::operator= ( const G4MagIntegratorStepper )
delete

◆ ResetfNORHSCalls()

void G4MagIntegratorStepper::ResetfNORHSCalls ( )
inline

◆ RightHandSide() [1/2]

void G4MagIntegratorStepper::RightHandSide ( const G4double  y[],
G4double  dydx[] 
) const
inline

◆ RightHandSide() [2/2]

void G4MagIntegratorStepper::RightHandSide ( const G4double  y[],
G4double  dydx[],
G4double  field[] 
) const
inline

◆ SetEquationOfMotion()

void G4MagIntegratorStepper::SetEquationOfMotion ( G4EquationOfMotion newEquation)
inline

◆ SetFSAL()

void G4MagIntegratorStepper::SetFSAL ( G4bool  flag = true)
inlineprotected

◆ SetIntegrationOrder()

void G4MagIntegratorStepper::SetIntegrationOrder ( G4int  order)
inlineprotected

◆ Stepper()

virtual void G4MagIntegratorStepper::Stepper ( const G4double  y[],
const G4double  dydx[],
G4double  h,
G4double  yout[],
G4double  yerr[] 
)
pure virtual

Field Documentation

◆ fEquation_Rhs

G4EquationOfMotion* G4MagIntegratorStepper::fEquation_Rhs = nullptr
private

Definition at line 124 of file G4MagIntegratorStepper.hh.

◆ fIntegrationOrder

G4int G4MagIntegratorStepper::fIntegrationOrder = -1
private

Definition at line 134 of file G4MagIntegratorStepper.hh.

◆ fIsFSAL

G4bool G4MagIntegratorStepper::fIsFSAL = false
private

Definition at line 136 of file G4MagIntegratorStepper.hh.

◆ fNoIntegrationVariables

const G4int G4MagIntegratorStepper::fNoIntegrationVariables = 0
private

Definition at line 125 of file G4MagIntegratorStepper.hh.

◆ fNoRHSCalls

unsigned long G4MagIntegratorStepper::fNoRHSCalls = 0UL
mutableprivate

Definition at line 128 of file G4MagIntegratorStepper.hh.

◆ fNoStateVariables

const G4int G4MagIntegratorStepper::fNoStateVariables = 0
private

Definition at line 126 of file G4MagIntegratorStepper.hh.


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