BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Routine for drift algorithm. More...
#include <BDSIntegratorDrift.hh>
Public Member Functions | |
void | AdvanceDriftMag (const G4double yIn[], const G4double h, G4double yOut[], G4double yErr[]) const |
Error array [6] all 0. More... | |
void | AdvanceDriftMag (const G4double yIn[], const G4ThreeVector &unitMomentum, const G4double h, G4double yOut[], G4double yErr[]) const |
Routine for drift algorithm.
q_{out} = q_{in} + \hat{p}_{in} h
Definition at line 33 of file BDSIntegratorDrift.hh.
BDSIntegratorDrift::BDSIntegratorDrift | ( | ) |
Definition at line 23 of file BDSIntegratorDrift.cc.
BDSIntegratorDrift::~BDSIntegratorDrift | ( | ) |
Definition at line 26 of file BDSIntegratorDrift.cc.
void BDSIntegratorDrift::AdvanceDriftMag | ( | const G4double | yIn[], |
const G4double | h, | ||
G4double | yOut[], | ||
G4double | yErr[] | ||
) | const |
Error array [6] all 0.
Advance a particle by using a drift algorithm. Uses first 6 variables in array and assumes at least 6 elements in each array so only suitable for magnetic field integrators. Sets error to 0. Does not provide distance from chord parameter as this is by definition 0 for a drift and should be set elsewhere.
yIn | Input coordinates x,y,z,px,py,pz,t |
h | Step length in mm |
yOut | Output array [6] |
Definition at line 29 of file BDSIntegratorDrift.cc.
References AdvanceDriftMag().
Referenced by AdvanceDriftMag(), BDSIntegratorDipoleRodrigues::AdvanceHelix(), BDSIntegratorDecapole::AdvanceHelix(), BDSIntegratorOctupole::AdvanceHelix(), BDSIntegratorSextupole::AdvanceHelix(), BDSIntegratorDipoleRodrigues2::AdvanceHelixForSpiralling(), BDSIntegratorDipoleFringe::BaseStepper(), BDSIntegratorDipoleQuadrupole::Stepper(), BDSIntegratorG4RK4MinStep::Stepper(), BDSIntegratorQuadrupole::Stepper(), BDSIntegratorSolenoid::Stepper(), BDSIntegratorDipoleRodrigues2::Stepper(), BDSIntegratorEulerOld::Stepper(), BDSIntegratorKickerThin::Stepper(), BDSIntegratorMultipoleThin::Stepper(), and BDSIntegratorEuler::Stepper().
void BDSIntegratorDrift::AdvanceDriftMag | ( | const G4double | yIn[], |
const G4ThreeVector & | unitMomentum, | ||
const G4double | h, | ||
G4double | yOut[], | ||
G4double | yErr[] | ||
) | const |
Definition at line 39 of file BDSIntegratorDrift.cc.