17#include <G4SystemOfUnits.hh>
33 fDefaultMaxStep(DBL_MAX)
52 fDefaultMaxStep(DBL_MAX)
68 fDefaultMaxStep(DBL_MAX)
86 fDefaultMaxStep(DBL_MAX)
98 fIsControl(right.fIsControl),
99 fCutVector(right.fCutVector),
100 fControlVector(right.fControlVector),
101 fDefaultMaxStep(right.fDefaultMaxStep)
124 if (
this == &right)
return *
this;
127 G4UserLimits::operator=(right);
181 if (cut ==
kTOFMAX) fMaxTime = cutValue;
269 G4cout <<
"\"" <<
fName <<
"\" limits:" << G4endl;
270 G4cout <<
" Max step length (mm): " << fMaxStep / mm << G4endl;
271 G4cout <<
" Max track length (mm): " << fMaxTrack / mm << G4endl;
272 G4cout <<
" Max time (s) " << fMaxTime / s << G4endl;
273 G4cout <<
" Min kin. energy (MeV) " << fMinEkine / MeV << G4endl;
274 G4cout <<
" Min range (mm): " << fMinRange / mm << G4endl;
276 if (!
fIsCut) G4cout <<
" No special cuts. " << G4endl;
277 if (!
fIsControl) G4cout <<
" No special controls. " << G4endl;
Definition of the TG4Limits class.
Vector of control process values with convenient set/get methods.
G4bool Update(const TG4G3ControlVector &vector)
G4bool SetControl(TG4G3Control control, TG4G3ControlValue controlValue, TG4G3CutVector &cuts)
static TG4G3ControlValue GetControlValue(G4int value, TG4G3Control control)
Vector of kinetic energy cut values with convenient set/get methods.
G4double GetMinEkineForChargedHadron(const G4Track &track) const
G4double GetMinEkineForGamma(const G4Track &track) const
G4double GetMinEkineForMuon(const G4Track &track) const
G4double GetMinEkineForNeutralHadron(const G4Track &track) const
G4double GetMinEkineForElectron(const G4Track &track) const
void SetCut(TG4G3Cut cut, G4double cutValue)
Extended G4UserLimits class.
G4bool Update(const TG4G3ControlVector &controls)
void SetDefaultMaxAllowedStep()
void SetG3Cut(TG4G3Cut cut, G4double cutValue)
TG4G3ControlValue GetControl(G4VProcess *process) const
void SetG3Control(TG4G3Control control, TG4G3ControlValue controlValue)
virtual G4double GetUserMinEkine(const G4Track &track)
TG4G3ControlVector fControlVector
the vector of G3 control values
G4double GetMinEkineForNeutralHadron(const G4Track &track) const
G4double GetMinEkineForMuon(const G4Track &track) const
void SetMaxAllowedStepBack()
TG4G3CutVector fCutVector
the vector of G3 cut values
TG4Limits & operator=(const TG4Limits &right)
G4double GetMinEkineForElectron(const G4Track &track) const
TG4Limits()
Not implemented.
void SetG3DefaultControls()
G4bool fIsControl
true if any control value is set
void Initialize(const TG4G3CutVector &cuts, const TG4G3ControlVector &controls)
G4double fDefaultMaxStep
the default max step value
G4double GetMinEkineForGamma(const G4Track &track) const
void SetCurrentMaxAllowedStep(G4double step)
G4bool fIsCut
true if any cut value is set
static G4int fgCounter
counter
G4double GetMinEkineForChargedHadron(const G4Track &track) const
TG4G3ControlValue
Enumeration for G3 processes control values.
TG4G3Cut
Enumeration for G3 types of kinetic energy cuts.
TG4G3Control
Enumeration for G3 types of physics processes controls.
@ kUnsetControlValue
value not set