|
BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Dynamic user limits for a volume that changed based on the parameter turnstaken in BDSGlobalConstants(). More...
#include <BDSTerminatorUserLimits.hh>


Public Member Functions | |
| BDSTerminatorUserLimits (G4double ustepMax=std::numeric_limits< double >::max(), G4double utrakMax=std::numeric_limits< double >::max(), G4double utimeMax=std::numeric_limits< double >::max(), G4double uekinMin=0., G4double urangMin=0.) | |
| BDSTerminatorUserLimits (const G4String &type, G4double ustepMax=std::numeric_limits< double >::max(), G4double utrakMax=std::numeric_limits< double >::max(), G4double utimeMax=std::numeric_limits< double >::max(), G4double uekinMin=0., G4double urangMin=0.) | |
| virtual G4double | GetUserMinEkine (const G4Track &) |
Protected Attributes | |
| G4double | keeprunningEK |
| Minimum energy particle must have to keep going. | |
| G4double | stoprunningEK |
| Same, so everything < DBL_MAX so everything stopped. | |
Private Attributes | |
| const G4int | turnsToTake |
Dynamic user limits for a volume that changed based on the parameter turnstaken in BDSGlobalConstants().
Used to control the number of turns a particle completes around a circular accelerator. An instance of these user limits is typically attached to a volume near the end of the lattice.
Definition at line 38 of file BDSTerminatorUserLimits.hh.
| BDSTerminatorUserLimits::BDSTerminatorUserLimits | ( | G4double | ustepMax = std::numeric_limits<double>::max(), |
| G4double | utrakMax = std::numeric_limits<double>::max(), |
||
| G4double | utimeMax = std::numeric_limits<double>::max(), |
||
| G4double | uekinMin = 0., |
||
| G4double | urangMin = 0. |
||
| ) |
Basic inheritance - just use everything normally from G4UserLimits but replace one function in inherited class. Default values are defined in G4UserLimits so all particles continue.
Definition at line 28 of file BDSTerminatorUserLimits.cc.
| BDSTerminatorUserLimits::BDSTerminatorUserLimits | ( | const G4String & | type, |
| G4double | ustepMax = std::numeric_limits<double>::max(), |
||
| G4double | utrakMax = std::numeric_limits<double>::max(), |
||
| G4double | utimeMax = std::numeric_limits<double>::max(), |
||
| G4double | uekinMin = 0., |
||
| G4double | urangMin = 0. |
||
| ) |
Definition at line 43 of file BDSTerminatorUserLimits.cc.
|
inlinevirtual |
Definition at line 57 of file BDSTerminatorUserLimits.hh.
|
inlinevirtual |
Replace this function alone in G4UserLimits where we only set the limit to E=0 eV on the last turn.
Definition at line 60 of file BDSTerminatorUserLimits.cc.
References BDSGlobalConstants::Instance(), keeprunningEK, stoprunningEK, and turnsToTake.

|
protected |
Minimum energy particle must have to keep going.
Definition at line 65 of file BDSTerminatorUserLimits.hh.
Referenced by GetUserMinEkine().
|
protected |
Same, so everything < DBL_MAX so everything stopped.
Definition at line 66 of file BDSTerminatorUserLimits.hh.
Referenced by GetUserMinEkine().
|
private |
Number of turns in total that simulation will progress for - not changed during run or after construction.
Definition at line 71 of file BDSTerminatorUserLimits.hh.
Referenced by GetUserMinEkine().