70    if( angleThreshold < 0.0 ){
 
   71      fAngle_threshold= 0.33*
pi;
 
   73      fAngle_threshold= angleThreshold;
 
   81    fStepperNumber = stepperNumber; 
 
  113   if(Ang_curve< fAngle_threshold){
 
  115     fRK4Stepper->
Stepper(yInput,dydx,Step,yOut,yErr);
 
  120     const G4int    nvar    = 6 ;
 
  121     const G4int    nvarMax = 8 ;    
 
  123     G4double       yTemp[nvarMax], yIn[nvarMax], yTemp2[nvarMax];
 
  127     for(i=0;i<nvar;i++) yIn[i]=yInput[i];
 
  145     for(i=0;i<nvar;i++) {
 
  146       yErr[i] = yOut[i] - yTemp2[i] ;
 
  170     distChord=
GetRadHelix()*(1-std::cos(0.5*Ang_curve));
 
  188   G4cout << 
"In HelixMixedStepper::Number of calls to smallStepStepper = " 
  190          << 
"  and Number of calls to Helix = " << fNumCallsHelix << 
G4endl;
 
  197   if (fVerbose>0) 
G4cout << 
" G4HelixMixedStepper: ";
 
  198   switch ( StepperNumber )
 
  203         if (fVerbose>0) 
G4cout << 
"G4ClassicalRK4";
 
  209         if (fVerbose>0) 
G4cout << 
"G4CashKarpRKF45";
 
  213         if (fVerbose>0) 
G4cout << 
"G4NystromRK4";
 
  219         if (fVerbose>0) 
G4cout << 
"G4ImplicitEuler";
 
  225         if (fVerbose>0) 
G4cout << 
"G4SimpleRunge";
 
  229         if (fVerbose>0) 
G4cout << 
"G4SimpleHeum";
 
  233         if (fVerbose>0) 
G4cout << 
"G4BogackiShampine23";
 
  240         if (fVerbose>0) 
G4cout << 
"G4BogackiShampine45";
 
  244         if (fVerbose>0) 
G4cout << 
"G4TsitourasRK45";
 
  248         if (fVerbose>0) 
G4cout << 
"G4DormandPrince745";
 
  254         if (fVerbose>0) 
G4cout << 
"G4HelixImplicitEuler";
 
  258         if (fVerbose>0) 
G4cout << 
"G4HelixSimpleRunge";
 
  262         if (fVerbose>0) 
G4cout << 
"G4HelixExplicitEuler";
 
  270         if (fVerbose>0) 
G4cout << 
"G4ExactHelixStepper";
 
  274         if (fVerbose>0) 
G4cout << 
"G4RKG3_Stepper";
 
  280         if (fVerbose>0) 
G4cout << 
"G4ExplicitEuler";
 
  284         if (fVerbose>0) 
G4cout << 
"G4ImplicitEuler";
 
  291         if (fVerbose>0) 
G4cout << 
"G4ClassicalRK4 (Default)";
 
  295     G4cout << 
" chosen as stepper for small steps in G4HelixMixedStepper." 
void AdvanceHelix(const G4double yIn[], G4ThreeVector Bfld, G4double h, G4double yHelix[], G4double yHelix2[]=0)
 
CLHEP::Hep3Vector G4ThreeVector
 
G4double GetRadHelix() const 
 
virtual void Stepper(const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[])=0
 
void MagFieldEvaluate(const G4double y[], G4ThreeVector &Bfield)
 
G4MagIntegratorStepper * SetupStepper(G4Mag_EqRhs *EqRhs, G4int StepperName)
 
static constexpr double twopi
 
G4GLOB_DLL std::ostream G4cout
 
G4double GetInverseCurve(const G4double Momentum, const G4double Bmag)
 
void Stepper(const G4double y[], const G4double dydx[], G4double h, G4double yout[], G4double yerr[])
 
void SetAngCurve(const G4double Ang)
 
G4HelixMixedStepper(G4Mag_EqRhs *EqRhs, G4int StepperNumber=-1, G4double Angle_threshold=-1.0)
 
void SetCurve(const G4double Curve)
 
void DumbStepper(const G4double y[], G4ThreeVector Bfld, G4double h, G4double yout[])
 
void SetVerbose(G4int newvalue)
 
static constexpr double pi
 
G4double GetAngCurve() const 
 
G4double DistChord() const