#include <G4HelixHeum.hh>
Inheritance diagram for G4HelixHeum:
Public Member Functions | |
G4HelixHeum (G4Mag_EqRhs *EqRhs) | |
~G4HelixHeum () | |
void | DumbStepper (const G4double y[], G4ThreeVector Bfld, G4double h, G4double yout[]) |
G4int | IntegratorOrder () const |
Definition at line 49 of file G4HelixHeum.hh.
G4HelixHeum::G4HelixHeum | ( | G4Mag_EqRhs * | EqRhs | ) | [inline] |
G4HelixHeum::~G4HelixHeum | ( | ) | [inline] |
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] |