#include <G4EqGravityField.hh>
Inheritance diagram for G4EqGravityField:
Public Member Functions | |
G4EqGravityField (G4UniformGravityField *gField) | |
~G4EqGravityField () | |
void | SetChargeMomentumMass (G4double particleCharge, G4double MomentumXc, G4double mass) |
void | EvaluateRhsGivenB (const G4double y[], const G4double Field[], G4double dydx[]) const |
Definition at line 49 of file G4EqGravityField.hh.
G4EqGravityField::G4EqGravityField | ( | G4UniformGravityField * | gField | ) | [inline] |
G4EqGravityField::~G4EqGravityField | ( | ) | [inline] |
void G4EqGravityField::EvaluateRhsGivenB | ( | const G4double | y[], | |
const G4double | Field[], | |||
G4double | dydx[] | |||
) | const |
Definition at line 52 of file G4EqGravityField.cc.
00055 { 00056 00057 // Components of y: 00058 // 0-2 dr/ds, 00059 // 3-5 dp/ds - momentum derivatives 00060 00061 G4double momentum_mag_square = y[3]*y[3] + y[4]*y[4] + y[5]*y[5]; 00062 G4double inv_momentum_magnitude = 1.0 / std::sqrt( momentum_mag_square ); 00063 00064 G4double Energy = std::sqrt(momentum_mag_square + fMass*fMass); 00065 G4double cof2 = Energy/c_light; 00066 G4double cof1 = inv_momentum_magnitude*fMass; 00067 G4double inverse_velocity = Energy*inv_momentum_magnitude/c_light; 00068 00069 dydx[0] = y[3]*inv_momentum_magnitude; // (d/ds)x = Vx/V 00070 dydx[1] = y[4]*inv_momentum_magnitude; // (d/ds)y = Vy/V 00071 dydx[2] = y[5]*inv_momentum_magnitude; // (d/ds)z = Vz/V 00072 00073 dydx[3] = G[0]*cof1*cof2; 00074 dydx[4] = G[1]*cof1*cof2; // m*g 00075 dydx[5] = G[2]*cof1*cof2; 00076 00077 // Lab Time of flight 00078 dydx[7] = inverse_velocity; 00079 00080 return; 00081 }
void G4EqGravityField::SetChargeMomentumMass | ( | G4double | particleCharge, | |
G4double | MomentumXc, | |||
G4double | mass | |||
) | [virtual] |