BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Public Member Functions | Protected Attributes
BDSIntegratorRMatrixThin Class Reference

Integrator that just moves the particle parallel to the s axis. More...

#include <BDSIntegratorRMatrixThin.hh>

Inheritance diagram for BDSIntegratorRMatrixThin:
Inheritance graph
Collaboration diagram for BDSIntegratorRMatrixThin:
Collaboration graph

Public Member Functions

 BDSIntegratorRMatrixThin (BDSMagnetStrength const *strength, G4Mag_EqRhs *eqOfMIn, G4double maximumRadiusIn)
 
virtual void Stepper (const G4double y[], const G4double dydx[], const G4double h, G4double yOut[], G4double yErr[])
 
- Public Member Functions inherited from BDSIntegratorMag
 BDSIntegratorMag (G4Mag_EqRhs *eqOfMIn, G4int nVariablesIn)
 
virtual G4double DistChord () const
 Estimate maximum distance of curved solution and chord. More...
 
virtual G4int IntegratorOrder () const
 Geant4 requires that the integrator order must be supplied by the derived class. More...
 
BDSIntegratorMagoperator= (const BDSIntegratorMag &)=delete
 Assignment and copy constructor not implemented nor used.
 
 BDSIntegratorMag (BDSIntegratorMag &)=delete
 Assignment and copy constructor not implemented nor used.
 
- Public Member Functions inherited from BDSIntegratorDrift
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
 
- Public Member Functions inherited from BDSAuxiliaryNavigator
G4VPhysicalVolume * LocateGlobalPointAndSetup (const G4ThreeVector &point, const G4ThreeVector *direction=nullptr, const G4bool pRelativeSearch=true, const G4bool ignoreDirection=true, G4bool useCurvilinear=true) const
 A wrapper for the underlying static navigator instance located within this class. More...
 
G4VPhysicalVolume * LocateGlobalPointAndSetup (G4Step const *const step, G4bool useCurvilinear=true) const
 
BDSStep ConvertToLocal (G4Step const *const step, G4bool useCurvilinear=true) const
 
BDSStep ConvertToLocal (const G4ThreeVector &globalPosition, const G4ThreeVector &globalDirection, const G4double stepLength=0, const G4bool useCurvilinear=true, const G4double marginLength=1) const
 
BDSStep ConvertToGlobalStep (const G4ThreeVector &localPosition, const G4ThreeVector &localDirection, const G4bool useCurvilinear=true) const
 
G4ThreeVector ConvertToLocal (const G4double globalPoint[3], const G4bool useCurvilinear=true) const
 
G4ThreeVector ConvertToLocal (const G4ThreeVector &globalPosition, const G4bool useCurvilinear=true) const
 Vector version - see notes above. More...
 
G4ThreeVector ConvertToLocalNoSetup (const G4ThreeVector &globalPosition, const G4bool useCurvilinear=true) const
 Similar to above function but does NOT initialise the transforms. More...
 
G4ThreeVector ConvertAxisToLocal (const G4ThreeVector &globalAxis, const G4bool useCurvilinear=true) const
 
G4ThreeVector ConvertAxisToLocal (const G4double globalPoint[3], const G4double globalAxis[3], const G4bool useCurvilinear=true) const
 
G4ThreeVector ConvertAxisToLocal (const G4ThreeVector &globalPoint, const G4ThreeVector &globalAxis, const G4bool useCurvilinear=true) const
 Vector version. More...
 
G4ThreeVector ConvertAxisToGlobal (const G4ThreeVector &localAxis, const G4bool useCurvilinear=true) const
 
std::pair< G4ThreeVector, G4ThreeVector > ConvertAxisToGlobal (const std::pair< G4ThreeVector, G4ThreeVector > &localAxis, const G4bool useCurvilinear=true) const
 
G4ThreeVector ConvertToGlobal (const G4ThreeVector &localPosition, const G4bool useCurvilinear=true) const
 
G4ThreeVector ConvertAxisToGlobal (const G4ThreeVector &globalPosition, const G4ThreeVector &localAxis, const G4bool useCurvilinear=true) const
 
G4ThreeVector ConvertToGlobal (const G4ThreeVector &globalPosition, const G4ThreeVector &localPosition, const G4bool useCurvilinear=true) const
 
BDSStep GlobalToCurvilinear (const G4double fieldArcLength, const G4ThreeVector &unitField, const G4double angle, const G4ThreeVector &position, const G4ThreeVector &unitMomentum, const G4double h, const G4bool useCurvilinearWorld, const G4double FCof, const G4double tilt=0)
 
BDSStep GlobalToCurvilinear (const G4ThreeVector &position, const G4ThreeVector &unitMomentum, const G4double h, const G4bool useCurvilinearWorld)
 
BDSStep CurvilinearToGlobal (const G4ThreeVector &localPosition, const G4ThreeVector &localMomentum, const G4bool useCurvilinearWorld)
 
BDSStep CurvilinearToGlobal (const G4double fieldArcLength, const G4ThreeVector &unitField, const G4double angle, const G4ThreeVector &CLPosition, const G4ThreeVector &CLMomentum, const G4bool useCurvilinearWorld, const G4double FCof, const G4double tilt=0)
 

Protected Attributes

G4double kick1
 
G4double kick2
 
G4double kick3
 
G4double kick4
 
G4double rmat11
 
G4double rmat12
 
G4double rmat13
 
G4double rmat14
 
G4double rmat21
 
G4double rmat22
 
G4double rmat23
 
G4double rmat24
 
G4double rmat31
 
G4double rmat32
 
G4double rmat33
 
G4double rmat34
 
G4double rmat41
 
G4double rmat42
 
G4double rmat43
 
G4double rmat44
 
G4double maximumRadius
 
- Protected Attributes inherited from BDSIntegratorMag
G4Mag_EqRhs * eqOfM
 
const G4int nVariables
 Cache of the number of variables. More...
 
G4MagIntegratorStepper * backupStepper
 
G4bool zeroStrength
 
G4double backupStepperMomLimit
 
- Protected Attributes inherited from BDSAuxiliaryNavigator
G4AffineTransform globalToLocal
 
G4AffineTransform localToGlobal
 
G4AffineTransform globalToLocalCL
 
G4AffineTransform localToGlobalCL
 
G4bool bridgeVolumeWasUsed
 

Additional Inherited Members

- Static Public Member Functions inherited from BDSAuxiliaryNavigator
static void AttachWorldVolumeToNavigator (G4VPhysicalVolume *worldPVIn)
 Setup the navigator w.r.t. to a world volume - typically real world. More...
 
static void AttachWorldVolumeToNavigatorCL (G4VPhysicalVolume *curvilinearWorldPVIn)
 
static void RegisterCurvilinearBridgeWorld (G4VPhysicalVolume *curvilinearBridgeWorldPVIn)
 
static void ResetNavigatorStates ()
 
- Static Public Attributes inherited from BDSIntegratorMag
static G4double thinElementLength = -1
 
static G4double nominalMatrixRelativeMomCut = -1
 
static G4bool currentTrackIsPrimary = false
 
- Protected Member Functions inherited from BDSIntegratorMag
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 More...
 
void SetDistChord (G4double distChordIn)
 Setter for distChord to private member. More...
 
- Static Protected Attributes inherited from BDSAuxiliaryNavigator
static G4Navigator * auxNavigator = new G4Navigator()
 
static G4Navigator * auxNavigatorCL = new G4Navigator()
 
static G4Navigator * auxNavigatorCLB = new G4Navigator()
 

Detailed Description

Integrator that just moves the particle parallel to the s axis.

Teleporter for moving particles without changing angle but only advances the particle by h.

If the new particle x,y coordinates are greater than maximumRadius, they are clipped to this value.

Author
Stewart Boogert

Definition at line 42 of file BDSIntegratorRMatrixThin.hh.

Constructor & Destructor Documentation

◆ BDSIntegratorRMatrixThin()

BDSIntegratorRMatrixThin::BDSIntegratorRMatrixThin ( BDSMagnetStrength const *  strength,
G4Mag_EqRhs *  eqOfMIn,
G4double  maximumRadiusIn 
)

Definition at line 28 of file BDSIntegratorRMatrixThin.cc.

◆ ~BDSIntegratorRMatrixThin()

virtual BDSIntegratorRMatrixThin::~BDSIntegratorRMatrixThin ( )
inlinevirtual

Definition at line 49 of file BDSIntegratorRMatrixThin.hh.

Member Function Documentation

◆ Stepper()

void BDSIntegratorRMatrixThin::Stepper ( const G4double  y[],
const G4double  dydx[],
const G4double  h,
G4double  yOut[],
G4double  yErr[] 
)
virtual

Definition at line 63 of file BDSIntegratorRMatrixThin.cc.

Field Documentation

◆ kick1

G4double BDSIntegratorRMatrixThin::kick1
protected

Definition at line 62 of file BDSIntegratorRMatrixThin.hh.

◆ kick2

G4double BDSIntegratorRMatrixThin::kick2
protected

Definition at line 63 of file BDSIntegratorRMatrixThin.hh.

◆ kick3

G4double BDSIntegratorRMatrixThin::kick3
protected

Definition at line 64 of file BDSIntegratorRMatrixThin.hh.

◆ kick4

G4double BDSIntegratorRMatrixThin::kick4
protected

Definition at line 65 of file BDSIntegratorRMatrixThin.hh.

◆ maximumRadius

G4double BDSIntegratorRMatrixThin::maximumRadius
protected

Definition at line 83 of file BDSIntegratorRMatrixThin.hh.

◆ rmat11

G4double BDSIntegratorRMatrixThin::rmat11
protected

Definition at line 66 of file BDSIntegratorRMatrixThin.hh.

◆ rmat12

G4double BDSIntegratorRMatrixThin::rmat12
protected

Definition at line 67 of file BDSIntegratorRMatrixThin.hh.

◆ rmat13

G4double BDSIntegratorRMatrixThin::rmat13
protected

Definition at line 68 of file BDSIntegratorRMatrixThin.hh.

◆ rmat14

G4double BDSIntegratorRMatrixThin::rmat14
protected

Definition at line 69 of file BDSIntegratorRMatrixThin.hh.

◆ rmat21

G4double BDSIntegratorRMatrixThin::rmat21
protected

Definition at line 70 of file BDSIntegratorRMatrixThin.hh.

◆ rmat22

G4double BDSIntegratorRMatrixThin::rmat22
protected

Definition at line 71 of file BDSIntegratorRMatrixThin.hh.

◆ rmat23

G4double BDSIntegratorRMatrixThin::rmat23
protected

Definition at line 72 of file BDSIntegratorRMatrixThin.hh.

◆ rmat24

G4double BDSIntegratorRMatrixThin::rmat24
protected

Definition at line 73 of file BDSIntegratorRMatrixThin.hh.

◆ rmat31

G4double BDSIntegratorRMatrixThin::rmat31
protected

Definition at line 74 of file BDSIntegratorRMatrixThin.hh.

◆ rmat32

G4double BDSIntegratorRMatrixThin::rmat32
protected

Definition at line 75 of file BDSIntegratorRMatrixThin.hh.

◆ rmat33

G4double BDSIntegratorRMatrixThin::rmat33
protected

Definition at line 76 of file BDSIntegratorRMatrixThin.hh.

◆ rmat34

G4double BDSIntegratorRMatrixThin::rmat34
protected

Definition at line 77 of file BDSIntegratorRMatrixThin.hh.

◆ rmat41

G4double BDSIntegratorRMatrixThin::rmat41
protected

Definition at line 78 of file BDSIntegratorRMatrixThin.hh.

◆ rmat42

G4double BDSIntegratorRMatrixThin::rmat42
protected

Definition at line 79 of file BDSIntegratorRMatrixThin.hh.

◆ rmat43

G4double BDSIntegratorRMatrixThin::rmat43
protected

Definition at line 80 of file BDSIntegratorRMatrixThin.hh.

◆ rmat44

G4double BDSIntegratorRMatrixThin::rmat44
protected

Definition at line 81 of file BDSIntegratorRMatrixThin.hh.


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