G4HelixExplicitEuler Class Reference

#include <G4HelixExplicitEuler.hh>

Inheritance diagram for G4HelixExplicitEuler:

G4MagHelicalStepper G4MagIntegratorStepper

Public Member Functions

 G4HelixExplicitEuler (G4Mag_EqRhs *EqRhs)
 ~G4HelixExplicitEuler ()
void Stepper (const G4double y[], const G4double *, G4double h, G4double yout[], G4double yerr[])
void DumbStepper (const G4double y[], G4ThreeVector Bfld, G4double h, G4double yout[])
G4double DistChord () const
G4int IntegratorOrder () const

Detailed Description

Definition at line 48 of file G4HelixExplicitEuler.hh.


Constructor & Destructor Documentation

G4HelixExplicitEuler::G4HelixExplicitEuler ( G4Mag_EqRhs EqRhs  )  [inline]

Definition at line 52 of file G4HelixExplicitEuler.hh.

00053       : G4MagHelicalStepper(EqRhs) {}

G4HelixExplicitEuler::~G4HelixExplicitEuler (  )  [inline]

Definition at line 55 of file G4HelixExplicitEuler.hh.

00055 {}


Member Function Documentation

G4double G4HelixExplicitEuler::DistChord (  )  const [virtual]

Reimplemented from G4MagHelicalStepper.

Definition at line 78 of file G4HelixExplicitEuler.cc.

References G4MagHelicalStepper::GetAngCurve(), G4MagHelicalStepper::GetRadHelix(), and G4INCL::Math::pi.

00079 {
00080   // Implementation : must check whether h/R > 2 pi  !!
00081   //   If( h/R <  pi) use G4LineSection::DistLine
00082   //   Else           DistChord=R_helix
00083   //
00084   G4double distChord;
00085   G4double Ang_curve=GetAngCurve();
00086 
00087       
00088          if(Ang_curve<=pi){
00089            distChord=GetRadHelix()*(1-std::cos(0.5*Ang_curve));
00090          }
00091          else 
00092          if(Ang_curve<twopi){
00093            distChord=GetRadHelix()*(1+std::cos(0.5*(twopi-Ang_curve)));
00094          }
00095          else{
00096           distChord=2.*GetRadHelix();  
00097          }
00098 
00099   return distChord;
00100   
00101 }

void G4HelixExplicitEuler::DumbStepper ( const G4double  y[],
G4ThreeVector  Bfld,
G4double  h,
G4double  yout[] 
) [virtual]

Implements G4MagHelicalStepper.

Definition at line 103 of file G4HelixExplicitEuler.cc.

References G4MagHelicalStepper::AdvanceHelix().

00107 {
00108     
00109        AdvanceHelix(yIn, Bfld, h, yOut);
00110                
00111 }  

G4int G4HelixExplicitEuler::IntegratorOrder (  )  const [inline, virtual]

Implements G4MagIntegratorStepper.

Definition at line 74 of file G4HelixExplicitEuler.hh.

00074 { return 1; }

void G4HelixExplicitEuler::Stepper ( const G4double  y[],
const G4double ,
G4double  h,
G4double  yout[],
G4double  yerr[] 
)


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:11 2013 for Geant4 by  doxygen 1.4.7