G4ErrorMag_UsualEqRhs Class Reference

#include <G4ErrorMag_UsualEqRhs.hh>

Inheritance diagram for G4ErrorMag_UsualEqRhs:

G4Mag_UsualEqRhs G4Mag_EqRhs G4EquationOfMotion

Public Member Functions

 G4ErrorMag_UsualEqRhs (G4MagneticField *MagField)
 ~G4ErrorMag_UsualEqRhs ()
void EvaluateRhsGivenB (const G4double y[], const G4double B[3], G4double dydx[]) const

Detailed Description

Definition at line 49 of file G4ErrorMag_UsualEqRhs.hh.


Constructor & Destructor Documentation

G4ErrorMag_UsualEqRhs::G4ErrorMag_UsualEqRhs ( G4MagneticField MagField  ) 

Definition at line 39 of file G4ErrorMag_UsualEqRhs.cc.

00040   : G4Mag_UsualEqRhs( MagField )
00041 {
00042 }

G4ErrorMag_UsualEqRhs::~G4ErrorMag_UsualEqRhs (  ) 

Definition at line 44 of file G4ErrorMag_UsualEqRhs.cc.

00045 {
00046 }


Member Function Documentation

void G4ErrorMag_UsualEqRhs::EvaluateRhsGivenB ( const G4double  y[],
const G4double  B[3],
G4double  dydx[] 
) const [virtual]

Reimplemented from G4Mag_UsualEqRhs.

Definition at line 50 of file G4ErrorMag_UsualEqRhs.cc.

References G4Mag_UsualEqRhs::EvaluateRhsGivenB(), G4Mag_EqRhs::FCof(), G4ErrorMode_PropBackwards, G4ErrorPropagatorData::GetErrorPropagatorData(), and sqr().

00053 {
00054 
00055   G4Mag_UsualEqRhs::EvaluateRhsGivenB(y, B, dydx );
00056   
00057   if(G4ErrorPropagatorData::GetErrorPropagatorData()->GetMode()
00058      == G4ErrorMode_PropBackwards)
00059   {
00060     G4double momentum_mag_square = sqr(y[3]) + sqr(y[4]) + sqr(y[5]);
00061     G4double inv_momentum_magnitude = 1.0 / std::sqrt( momentum_mag_square );
00062     
00063     G4double cof = FCof()*inv_momentum_magnitude;
00064 
00065     dydx[3] = cof*(y[4]*(-B[2]) - y[5]*(-B[1])) ;
00066     dydx[4] = cof*(y[5]*(-B[0]) - y[3]*(-B[2])) ;
00067     dydx[5] = cof*(y[3]*(-B[1]) - y[4]*(-B[0])) ;    
00068   }
00069   return;
00070 }


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