20#include "BDSIntegratorParallelTransport.hh"
24#include "G4ThreeVector.hh"
26BDSIntegratorParallelTransport::BDSIntegratorParallelTransport(G4Mag_EqRhs* eqOfMIn):
30void BDSIntegratorParallelTransport::Stepper(
const G4double yIn[],
36 G4ThreeVector pos = G4ThreeVector(yIn[0], yIn[1], yIn[2]);
37 G4ThreeVector mom = G4ThreeVector(yIn[3], yIn[4], yIn[5]);
38 G4double momMag = mom.mag();
43 G4ThreeVector localMomUnit = localMom.unit();
45 G4double x0 = localPos.x();
46 G4double y0 = localPos.y();
47 G4double z0 = localPos.z();
49 G4double xp0 = localMomUnit.x();
50 G4double yp0 = localMomUnit.y();
51 G4double zp0 = localMomUnit.z();
66 for (G4int i = 0; i < 3; i++)
72 G4ThreeVector localPosOut = G4ThreeVector(x1, y1, z1);
73 G4ThreeVector localMomUnitOut = G4ThreeVector(xp0, yp0, zp0);
BDSStep ConvertToLocal(G4Step const *const step, G4bool useCurvilinear=true) const
void AdvanceDriftMag(const G4double yIn[], const G4double h, G4double yOut[], G4double yErr[]) const
Error array [6] all 0.
Common functionality to BDSIM integrators.
G4double backupStepperMomLimit
void SetDistChord(G4double distChordIn)
Setter for distChord to private member.
void ConvertToGlobal(const G4ThreeVector &localPos, const G4ThreeVector &localMom, G4double yOut[], G4double yErr[], const G4double momScaling=1.0)
scaling of momentum in case localMom is a unit vector
A simple class to represent the positions of a step.
G4ThreeVector PostStepPoint() const
Accessor.
G4ThreeVector PreStepPoint() const
Accessor.