39#ifndef G4ITSTEPPROCESSOR_H
40#define G4ITSTEPPROCESSOR_H
174 G4int fStoreTrajectory;
192 G4int fN2ndariesAtRestDoIt;
193 G4int fN2ndariesAlongStepDoIt;
194 G4int fN2ndariesPostStepDoIt;
199 size_t fAtRestDoItProcTriggered;
200 size_t fPostStepDoItProcTriggered;
201 size_t fPostStepAtTimeDoItProcTriggered;
225 struct ProcessGeneralInfo
239 size_t MAXofAtRestLoops;
240 size_t MAXofAlongStepLoops;
241 size_t MAXofPostStepLoops;
249 std::map<const G4ParticleDefinition*, ProcessGeneralInfo*> fProcessGeneralInfoMap;
250 ProcessGeneralInfo* fpProcessInfo;
261 G4ITStepProcessorState();
262 virtual ~G4ITStepProcessorState();
284 G4ITStepProcessorState(
const G4ITStepProcessorState&);
285 G4ITStepProcessorState& operator=(
const G4ITStepProcessorState&);
297 G4ITStepProcessorState* fpState;
306 fPreviousTimeStep = previousTimeStep;
316 return std::max( fpState->endpointSafety -
317 (fpState->endpointSafOrigin - fpPostStepPoint->
GetPosition()).mag(),
339 fpParticleChange = 0;
346 fpTransportation = 0;
351 fAtRestDoItProcTriggered =
INT_MAX;
352 fPostStepDoItProcTriggered =
INT_MAX;
353 fPostStepAtTimeDoItProcTriggered =
INT_MAX;
@ NotCandidateForSelection
class std::vector< int, std::allocator< int > > G4SelectedPostStepDoItVector
class std::vector< int, std::allocator< int > > G4SelectedAtRestDoItVector
class std::vector< int, std::allocator< int > > G4SelectedAlongStepDoItVector
std::vector< G4Track * > G4TrackVector
void CalculateStep(G4Track *)
G4ITTrackingManager * GetTrackingManager()
void InvokeAtRestDoItProcs()
void SetTrackingManager(G4ITTrackingManager *trackMan)
virtual ~G4ITStepProcessor()
void ForceReInitialization()
void ActiveOnlyITProcess()
void DealWithSecondaries(G4int &)
void SetStep(G4Step *val)
void SetNavigator(G4ITNavigator *value)
void UpdateTrack(G4Track *)
G4ITStepProcessor & operator=(const G4ITStepProcessor &other)
void Stepping(G4Track *, const double &)
G4double CalculateSafety()
void SetPreviousStepTime(G4double)
void DoIt(G4Track *, double)
G4TrackVector * GetSecondaries()
void DoDefinePhysicalStepLength()
void CalculateStep(G4Track *, const double &)
void InvokeTransportationProc()
void InvokePostStepDoItProcs()
void DefinePhysicalStepLength(G4Track *)
const G4Step * GetStep() const
void SetupGeneralProcessInfo(G4ParticleDefinition *, G4ProcessManager *)
void ApplyProductionCut(G4Track *)
double GetInteractionTime()
virtual void Initialize()
void InvokeAlongStepDoItProcs()
void FindTransportationStep()
const G4ThreeVector & GetPosition() const