144 G4cout <<
"ERROR - no ExExChParticleUserInfo object Detected";
198 vDensityPreviousStep =
204 return vDensityPreviousStep;
250 if ( (previousStepSize < 0.0) ||
254 }
else if ( previousStepSize > 0.0) {
257 * vDensityPreviousStep);
264 previousStepSize * vDensityPreviousStep,
278 if ( vDensity == 0. )
return DBL_MAX;
279 currentInteractionLength /= vDensity;
G4double condition(const G4ErrorSymMatrix &m)
G4VDiscreteProcess * fRegisteredProcess
G4ProcessType theProcessType
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *)
virtual G4bool RetrievePhysicsTable(const G4ParticleDefinition *, const G4String &, G4bool)
G4bool isAlongStepDoItIsEnabled() const
G4bool isPostStepDoItIsEnabled() const
G4int ItHasToWork(const G4Track &)
G4bool isAtRestDoItIsEnabled() const
G4double theNumberOfInteractionLengthLeft
G4ProcessType GetProcessType() const
G4double GetNucleiDensity()
virtual G4bool IsApplicable(const G4ParticleDefinition &)
G4double GetDensityPreviousStep(const G4Track &)
G4VUserTrackInformation * GetUserInformation() const
virtual void StartTracking(G4Track *)
G4double GetNumberOfInteractionLengthLeft() const
G4GLOB_DLL std::ostream G4cout
virtual void PreparePhysicsTable(const G4ParticleDefinition &)
void SetNucleiOrElectronFlag(G4int)
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
G4double currentInteractionLength
virtual void PreparePhysicsTable(const G4ParticleDefinition &)
G4bool enablePostStepDoIt
virtual G4bool RetrievePhysicsTable(const G4ParticleDefinition *, const G4String &, G4bool)
const G4String & GetProcessName() const
G4int bBothOrCrystalOrDetectorPhysics
Decide whether to use nuclei (+1) or electron (-1) or both (0)
G4double GetDensity(const G4Track &)
G4int bNucleiOrElectronFlag
Definition of the XWrapperDiscreteProcess class.
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
G4double GetNucleiDensityPreviousStep()
void StartTracking(G4Track *)
G4VParticleChange * pParticleChange
virtual ~XWrapperDiscreteProcess()
virtual G4double GetMeanFreePath(const G4Track &, G4double, G4ForceCondition *)
virtual void ResetNumberOfInteractionLengthLeft()
G4bool enableAlongStepDoIt
virtual G4bool StorePhysicsTable(const G4ParticleDefinition *, const G4String &, G4bool)
void RegisterProcess(G4VDiscreteProcess *)
void SubtractNumberOfInteractionLengthLeft(G4double previousStepSize)
G4double theInitialNumberOfInteractionLength
virtual G4VParticleChange * PostStepDoIt(const G4Track &, const G4Step &)
XWrapperDiscreteProcess(const G4String &processName="XWrapperDiscreteProcess")
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
G4int GetProcessSubType() const
G4int GetNucleiOrElectronFlag()
virtual G4VParticleChange * PostStepDoIt(const G4Track &, const G4Step &)
G4double GetElectronDensityPreviousStep()
virtual G4bool IsApplicable(const G4ParticleDefinition &)
G4ParticleChangeForNothing * fParticleChangeForNothing
virtual G4bool StorePhysicsTable(const G4ParticleDefinition *, const G4String &, G4bool)
G4double GetElectronDensity()