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

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

+ Collaboration diagram for G4BulirschStoer:

Public Types

enum  step_result
 

Public Member Functions

 G4BulirschStoer (G4EquationOfMotion *equation, G4int nvar, G4double eps_rel, G4double max_dt=DBL_MAX)
 
void set_max_dt (G4double max_dt)
 
void set_max_relative_error (G4double eps_rel)
 
step_result try_step (const G4double in[], const G4double dxdt[], G4double &t, G4double out[], G4double &dt)
 
void reset ()
 
void SetEquationOfMotion (G4EquationOfMotion *equation)
 
G4EquationOfMotionGetEquationOfMotion ()
 
G4int GetNumberOfVariables () const
 

Private Member Functions

void extrapolate (size_t k, G4double xest[])
 
G4double calc_h_opt (G4double h, G4double error, size_t k) const
 
G4bool set_k_opt (size_t k, G4double &dt)
 
G4bool in_convergence_window (G4int k) const
 
G4bool should_reject (G4double error, G4int k) const
 

Private Attributes

G4int fnvar
 
G4double m_eps_rel
 
G4ModifiedMidpoint m_midpoint
 
G4bool m_last_step_rejected
 
G4bool m_first
 
G4double m_dt_last
 
G4double m_max_dt
 
G4int m_current_k_opt
 
G4double m_err [G4FieldTrack::ncompSVEC]
 
G4int m_interval_sequence [m_k_max+1]
 
G4double m_coeff [m_k_max+1][m_k_max]
 
G4int m_cost [m_k_max+1]
 
G4double m_table [m_k_max][G4FieldTrack::ncompSVEC]
 
G4double h_opt [m_k_max+1]
 
G4double work [m_k_max+1]
 

Static Private Attributes

static const G4int m_k_max = 8
 

Detailed Description

Definition at line 43 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 43 of file G4BulirschStoer.hh

Member Enumeration Documentation

Definition at line 47 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 47 of file G4BulirschStoer.hh

Constructor & Destructor Documentation

G4BulirschStoer::G4BulirschStoer ( G4EquationOfMotion equation,
G4int  nvar,
G4double  eps_rel,
G4double  max_dt = DBL_MAX 
)

Definition at line 47 of file G4BulirschStoer.cc.

View newest version in sPHENIX GitHub at line 47 of file G4BulirschStoer.cc

References k, m_coeff, m_cost, m_current_k_opt, m_interval_sequence, m_k_max, and r.

Member Function Documentation

G4double G4BulirschStoer::calc_h_opt ( G4double  h,
G4double  error,
size_t  k 
) const
private

Definition at line 259 of file G4BulirschStoer.cc.

View newest version in sPHENIX GitHub at line 259 of file G4BulirschStoer.cc

References fac, max, and min.

Referenced by try_step().

+ Here is the caller graph for this function:

void G4BulirschStoer::extrapolate ( size_t  k,
G4double  xest[] 
)
private

Definition at line 239 of file G4BulirschStoer.cc.

View newest version in sPHENIX GitHub at line 239 of file G4BulirschStoer.cc

References fnvar, k, m_coeff, and m_table.

Referenced by try_step().

+ Here is the caller graph for this function:

G4EquationOfMotion* G4BulirschStoer::GetEquationOfMotion ( )
inline
G4int G4BulirschStoer::GetNumberOfVariables ( ) const
inline
G4bool G4BulirschStoer::in_convergence_window ( G4int  k) const
private

Definition at line 312 of file G4BulirschStoer.cc.

View newest version in sPHENIX GitHub at line 312 of file G4BulirschStoer.cc

References m_current_k_opt, and m_last_step_rejected.

void G4BulirschStoer::reset ( )

Definition at line 233 of file G4BulirschStoer.cc.

View newest version in sPHENIX GitHub at line 233 of file G4BulirschStoer.cc

References m_first, and m_last_step_rejected.

Referenced by try_step().

+ Here is the caller graph for this function:

G4bool G4BulirschStoer::set_k_opt ( size_t  k,
G4double dt 
)
private

Definition at line 282 of file G4BulirschStoer.cc.

View newest version in sPHENIX GitHub at line 282 of file G4BulirschStoer.cc

References h_opt, k, m_cost, m_current_k_opt, m_k_max, m_last_step_rejected, and work.

void G4BulirschStoer::set_max_dt ( G4double  max_dt)
inline
void G4BulirschStoer::set_max_relative_error ( G4double  eps_rel)
inline
void G4BulirschStoer::SetEquationOfMotion ( G4EquationOfMotion equation)
inline
G4bool G4BulirschStoer::should_reject ( G4double  error,
G4int  k 
) const
private

Definition at line 322 of file G4BulirschStoer.cc.

View newest version in sPHENIX GitHub at line 322 of file G4BulirschStoer.cc

References d, e, e2, m_current_k_opt, and m_interval_sequence.

Referenced by try_step().

+ Here is the caller graph for this function:

G4BulirschStoer::step_result G4BulirschStoer::try_step ( const G4double  in[],
const G4double  dxdt[],
G4double t,
G4double  out[],
G4double dt 
)

Definition at line 84 of file G4BulirschStoer.cc.

View newest version in sPHENIX GitHub at line 84 of file G4BulirschStoer.cc

References calc_h_opt(), G4ModifiedMidpoint::DoStep(), error, extrapolate(), fnvar, h_opt, k, m_cost, m_current_k_opt, m_dt_last, m_eps_rel, m_err, m_first, m_interval_sequence, m_k_max, m_last_step_rejected, m_max_dt, m_midpoint, m_table, max, min, field_utils::relativeError(), reset(), G4ModifiedMidpoint::SetSteps(), should_reject(), and work.

+ Here is the call graph for this function:

Member Data Documentation

G4int G4BulirschStoer::fnvar
private

Definition at line 85 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 85 of file G4BulirschStoer.hh

Referenced by extrapolate(), and try_step().

G4double G4BulirschStoer::h_opt[m_k_max+1]
private

Definition at line 121 of file G4BulirschStoer.hh.

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

Referenced by set_k_opt(), and try_step().

G4double G4BulirschStoer::m_coeff[m_k_max+1][m_k_max]
private

Definition at line 112 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 112 of file G4BulirschStoer.hh

Referenced by extrapolate(), and G4BulirschStoer().

G4int G4BulirschStoer::m_cost[m_k_max+1]
private

Definition at line 115 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 115 of file G4BulirschStoer.hh

Referenced by G4BulirschStoer(), set_k_opt(), and try_step().

G4int G4BulirschStoer::m_current_k_opt
private

Definition at line 102 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 102 of file G4BulirschStoer.hh

Referenced by G4BulirschStoer(), in_convergence_window(), set_k_opt(), should_reject(), and try_step().

G4double G4BulirschStoer::m_dt_last
private

Definition at line 96 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 96 of file G4BulirschStoer.hh

Referenced by try_step().

G4double G4BulirschStoer::m_eps_rel
private

Definition at line 88 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 88 of file G4BulirschStoer.hh

Referenced by try_step().

G4double G4BulirschStoer::m_err[G4FieldTrack::ncompSVEC]
private

Definition at line 105 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 105 of file G4BulirschStoer.hh

Referenced by try_step().

G4bool G4BulirschStoer::m_first
private

Definition at line 94 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 94 of file G4BulirschStoer.hh

Referenced by reset(), and try_step().

G4int G4BulirschStoer::m_interval_sequence[m_k_max+1]
private

Definition at line 109 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 109 of file G4BulirschStoer.hh

Referenced by G4BulirschStoer(), should_reject(), and try_step().

const G4int G4BulirschStoer::m_k_max = 8
staticprivate

Definition at line 75 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 75 of file G4BulirschStoer.hh

Referenced by G4BulirschStoer(), set_k_opt(), and try_step().

G4bool G4BulirschStoer::m_last_step_rejected
private

Definition at line 93 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 93 of file G4BulirschStoer.hh

Referenced by in_convergence_window(), reset(), set_k_opt(), and try_step().

G4double G4BulirschStoer::m_max_dt
private

Definition at line 100 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 100 of file G4BulirschStoer.hh

Referenced by try_step().

G4ModifiedMidpoint G4BulirschStoer::m_midpoint
private

Definition at line 91 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 91 of file G4BulirschStoer.hh

Referenced by try_step().

G4double G4BulirschStoer::m_table[m_k_max][G4FieldTrack::ncompSVEC]
private

Definition at line 118 of file G4BulirschStoer.hh.

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

Referenced by extrapolate(), and try_step().

G4double G4BulirschStoer::work[m_k_max+1]
private

Definition at line 124 of file G4BulirschStoer.hh.

View newest version in sPHENIX GitHub at line 124 of file G4BulirschStoer.hh

Referenced by set_k_opt(), and try_step().


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