BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
Public Member Functions
BDSIntegratorDrift Class Reference

Routine for drift algorithm. More...

#include <BDSIntegratorDrift.hh>

Inheritance diagram for BDSIntegratorDrift:
Inheritance graph
Collaboration diagram for BDSIntegratorDrift:
Collaboration graph

Public Member Functions

void AdvanceDriftMag (const G4double yIn[], const G4double h, G4double yOut[], G4double yErr[]) const
 Error array [6] all 0.
 
void AdvanceDriftMag (const G4double yIn[], const G4ThreeVector &unitMomentum, const G4double h, G4double yOut[], G4double yErr[]) const
 

Detailed Description

Routine for drift algorithm.

q_{out} = q_{in} + \hat{p}_{in} h

Author
Laurie nevay

Definition at line 33 of file BDSIntegratorDrift.hh.

Constructor & Destructor Documentation

◆ BDSIntegratorDrift()

BDSIntegratorDrift::BDSIntegratorDrift ( )

Definition at line 23 of file BDSIntegratorDrift.cc.

◆ ~BDSIntegratorDrift()

BDSIntegratorDrift::~BDSIntegratorDrift ( )

Definition at line 26 of file BDSIntegratorDrift.cc.

Member Function Documentation

◆ AdvanceDriftMag() [1/2]

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.

Parameters
yInInput coordinates x,y,z,px,py,pz,t
hStep length in mm
yOutOutput 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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AdvanceDriftMag() [2/2]

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.


The documentation for this class was generated from the following files: