G4HelixImplicitEuler Class Reference

#include <G4HelixImplicitEuler.hh>

Inheritance diagram for G4HelixImplicitEuler:

G4MagHelicalStepper G4MagIntegratorStepper

Public Member Functions

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

Detailed Description

Definition at line 51 of file G4HelixImplicitEuler.hh.


Constructor & Destructor Documentation

G4HelixImplicitEuler::G4HelixImplicitEuler ( G4Mag_EqRhs EqRhs  )  [inline]

Definition at line 56 of file G4HelixImplicitEuler.hh.

00057       : G4MagHelicalStepper(EqRhs) {}

G4HelixImplicitEuler::~G4HelixImplicitEuler (  )  [inline]

Definition at line 59 of file G4HelixImplicitEuler.hh.

00059 {}


Member Function Documentation

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

Implements G4MagHelicalStepper.

Definition at line 46 of file G4HelixImplicitEuler.cc.

References G4MagHelicalStepper::AdvanceHelix(), and G4MagHelicalStepper::MagFieldEvaluate().

00050 {
00051   const G4int nvar = 6 ;
00052   G4double yTemp[6], yTemp2[6];
00053   G4ThreeVector Bfld_endpoint;
00054 
00055   G4int i;
00056 
00057   // Step forward like in the explicit euler case
00058   AdvanceHelix( yIn, Bfld, h, yTemp);
00059 
00060   // now obtain the new field value at the new point
00061   MagFieldEvaluate(yTemp, Bfld_endpoint);      
00062 
00063   // and also advance along a helix for this field value
00064   AdvanceHelix( yIn, Bfld_endpoint, h, yTemp2);
00065 
00066   // we take the average 
00067   for( i = 0; i < nvar; i++ ) 
00068     yOut[i] = 0.5 * ( yTemp[i] + yTemp2[i] );
00069 
00070   // NormaliseTangentVector( yOut );           
00071 }  

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

Implements G4MagIntegratorStepper.

Definition at line 68 of file G4HelixImplicitEuler.hh.

00068 { return 2; }


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