BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Integrator that just moves the particle parallel to the s axis. More...
#include <BDSIntegratorRMatrixThin.hh>
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... | |
BDSIntegratorMag & | operator= (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() |
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.
Definition at line 42 of file BDSIntegratorRMatrixThin.hh.
BDSIntegratorRMatrixThin::BDSIntegratorRMatrixThin | ( | BDSMagnetStrength const * | strength, |
G4Mag_EqRhs * | eqOfMIn, | ||
G4double | maximumRadiusIn | ||
) |
Definition at line 28 of file BDSIntegratorRMatrixThin.cc.
|
inlinevirtual |
Definition at line 49 of file BDSIntegratorRMatrixThin.hh.
|
virtual |
Definition at line 63 of file BDSIntegratorRMatrixThin.cc.
|
protected |
Definition at line 62 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 63 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 64 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 65 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 83 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 66 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 67 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 68 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 69 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 70 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 71 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 72 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 73 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 74 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 75 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 76 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 77 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 78 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 79 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 80 of file BDSIntegratorRMatrixThin.hh.
|
protected |
Definition at line 81 of file BDSIntegratorRMatrixThin.hh.