G4EquationOfMotion Class Reference

#include <G4EquationOfMotion.hh>

Inheritance diagram for G4EquationOfMotion:

G4EqEMFieldWithEDM G4EqEMFieldWithSpin G4EqGravityField G4EqMagElectricField G4Mag_EqRhs G4MonopoleEq G4KM_NucleonEqRhs G4KM_OpticalEqRhs G4Mag_SpinEqRhs G4Mag_UsualEqRhs G4ErrorMag_UsualEqRhs

Public Member Functions

 G4EquationOfMotion (G4Field *Field)
virtual ~G4EquationOfMotion ()
virtual void EvaluateRhsGivenB (const G4double y[], const G4double B[3], G4double dydx[]) const =0
virtual void SetChargeMomentumMass (G4double particleCharge, G4double MomentumXc, G4double MassXc2)=0
void RightHandSide (const G4double y[], G4double dydx[]) const
void EvaluateRhsReturnB (const G4double y[], G4double dydx[], G4double Field[]) const
void GetFieldValue (const G4double Point[4], G4double Field[]) const
const G4FieldGetFieldObj () const
void SetFieldObj (G4Field *pField)

Detailed Description

Definition at line 47 of file G4EquationOfMotion.hh.


Constructor & Destructor Documentation

G4EquationOfMotion::G4EquationOfMotion ( G4Field Field  )  [inline]

Definition at line 35 of file G4EquationOfMotion.icc.

00036   :itsField(pField)
00037 {}

G4EquationOfMotion::~G4EquationOfMotion (  )  [virtual]

Definition at line 33 of file G4EquationOfMotion.cc.

00034 {}


Member Function Documentation

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

Implemented in G4ErrorMag_UsualEqRhs, G4Mag_EqRhs, G4Mag_SpinEqRhs, G4Mag_UsualEqRhs, G4KM_NucleonEqRhs, and G4KM_OpticalEqRhs.

Referenced by EvaluateRhsReturnB(), RightHandSide(), and G4RKG3_Stepper::StepNoErr().

void G4EquationOfMotion::EvaluateRhsReturnB ( const G4double  y[],
G4double  dydx[],
G4double  Field[] 
) const

Definition at line 37 of file G4EquationOfMotion.cc.

References EvaluateRhsGivenB(), and GetFieldValue().

Referenced by G4RKG3_Stepper::StepNoErr().

00040 {
00041      G4double  PositionAndTime[4];
00042 
00043      // Position
00044      PositionAndTime[0] = y[0];
00045      PositionAndTime[1] = y[1];
00046      PositionAndTime[2] = y[2];
00047      // Global Time
00048      PositionAndTime[3] = y[7];  // See G4FieldTrack::LoadFromArray
00049 
00050      GetFieldValue(PositionAndTime, Field) ;
00051      EvaluateRhsGivenB( y, Field, dydx );
00052 }

const G4Field * G4EquationOfMotion::GetFieldObj (  )  const [inline]

Definition at line 40 of file G4EquationOfMotion.icc.

00041 {
00042   return itsField;
00043 }

void G4EquationOfMotion::GetFieldValue ( const G4double  Point[4],
G4double  Field[] 
) const [inline]

Definition at line 52 of file G4EquationOfMotion.icc.

Referenced by EvaluateRhsReturnB(), and RightHandSide().

00054 {
00055   itsField-> GetFieldValue( Point, Field );
00056 }

void G4EquationOfMotion::RightHandSide ( const G4double  y[],
G4double  dydx[] 
) const [inline]

Definition at line 60 of file G4EquationOfMotion.icc.

References EvaluateRhsGivenB(), and GetFieldValue().

00062 {
00063      G4double Field[G4maximum_number_of_field_components];   
00064      G4double  PositionAndTime[4];
00065 
00066      // Position
00067      PositionAndTime[0] = y[0];
00068      PositionAndTime[1] = y[1];
00069      PositionAndTime[2] = y[2];
00070      // Global Time
00071      PositionAndTime[3] = y[7];  // See G4FieldTrack::LoadFromArray
00072 
00073      GetFieldValue(PositionAndTime, Field) ;
00074      EvaluateRhsGivenB( y, Field, dydx );
00075 }

virtual void G4EquationOfMotion::SetChargeMomentumMass ( G4double  particleCharge,
G4double  MomentumXc,
G4double  MassXc2 
) [pure virtual]

Implemented in G4EqEMFieldWithEDM, G4EqEMFieldWithSpin, G4EqGravityField, G4EqMagElectricField, G4Mag_EqRhs, G4Mag_SpinEqRhs, G4Mag_UsualEqRhs, G4MonopoleEq, G4KM_NucleonEqRhs, and G4KM_OpticalEqRhs.

Referenced by G4MagInt_Driver::SetChargeMomentumMass().

void G4EquationOfMotion::SetFieldObj ( G4Field pField  )  [inline]

Definition at line 46 of file G4EquationOfMotion.icc.

00047 {
00048   itsField= pField;
00049 }


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