G4HelixHeum Class Reference

#include <G4HelixHeum.hh>

Inheritance diagram for G4HelixHeum:

G4MagHelicalStepper G4MagIntegratorStepper

Public Member Functions

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

Detailed Description

Definition at line 49 of file G4HelixHeum.hh.


Constructor & Destructor Documentation

G4HelixHeum::G4HelixHeum ( G4Mag_EqRhs EqRhs  )  [inline]

Definition at line 54 of file G4HelixHeum.hh.

00055       : G4MagHelicalStepper(EqRhs) {}

G4HelixHeum::~G4HelixHeum (  )  [inline]

Definition at line 57 of file G4HelixHeum.hh.

00057 {}


Member Function Documentation

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

Implements G4MagHelicalStepper.

Definition at line 44 of file G4HelixHeum.cc.

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

00048 {
00049   const G4int nvar = 6 ;
00050 
00051   G4ThreeVector Bfield_Temp, Bfield_Temp2;
00052   G4double yTemp[6], yAdd1[6], yAdd2[6] , yTemp2[6];
00053 
00054   G4int i;
00055 
00056   AdvanceHelix( yIn, Bfld, h, yAdd1 );
00057   
00058   AdvanceHelix( yIn, Bfld, h/3.0, yTemp );
00059   MagFieldEvaluate(yTemp,Bfield_Temp);
00060 
00061   AdvanceHelix( yIn, Bfield_Temp, (2.0 / 3.0) * h, yTemp2 );
00062   
00063   MagFieldEvaluate(yTemp2,Bfield_Temp2);
00064 
00065   AdvanceHelix( yIn, Bfield_Temp2, h, yAdd2 );
00066 
00067   for( i = 0; i < nvar; i++ ) {
00068     yOut[i] = ( 0.25 * yAdd1[i] + 0.75 * yAdd2[i]);
00069   }
00070 
00071   // NormaliseTangentVector( yOut );           
00072 }  

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

Implements G4MagIntegratorStepper.

Definition at line 66 of file G4HelixHeum.hh.

00066 { 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