47 #ifndef G4ITSTEPPROCESSOR_H 48 #define G4ITSTEPPROCESSOR_H 59 #include "G4TrackVector.hh" 60 #include "G4TrackStatus.hh" 61 #include "G4StepStatus.hh" 65 #include "G4StepPoint.hh" 161 inline void SetPreviousStepTime(
G4double);
196 void ForceReInitialization();
198 void ResetLeadingTracks();
199 void PrepareLeadingTracks();
202 G4double ComputeInteractionLength(
double previousTimeStep);
203 void DefinePhysicalStepLength(G4Track*);
211 void DoIt(
double timeStep);
212 void ExtractDoItData();
213 void Stepping(G4Track*,
const double&);
214 void FindTransportationStep();
217 inline double GetInteractionTime();
218 inline const G4Track* GetTrack()
const;
219 inline void CleanProcessor();
223 return fAtRestDoItProcTriggered;
228 return fGPILSelection;
233 return fN2ndariesAlongStepDoIt;
238 return fN2ndariesAtRestDoIt;
243 return fN2ndariesPostStepDoIt;
248 return fpCurrentProcess;
253 return fPhysIntLength;
258 return fPostStepAtTimeDoItProcTriggered;
263 return fPostStepDoItProcTriggered;
268 return fpProcessInfo;
278 return fpParticleChange;
283 return fpCurrentVolume;
293 void ExtractILData();
296 void ClearProcessInfo();
297 void SetTrack(G4Track*);
299 void GetProcessInfo();
302 void ResetSecondaries();
303 void InitDefineStep();
305 void SetInitialStep();
308 void DoDefinePhysicalStepLength();
310 void PushSecondaries();
316 void ActiveOnlyITProcess();
319 void DealWithSecondaries(
G4int&);
320 void InvokeAtRestDoItProcs();
321 void InvokeAlongStepDoItProcs();
322 void InvokePostStepDoItProcs();
323 void InvokePSDIP(
size_t);
324 void InvokeTransportationProc();
325 void SetNavigator(G4ITNavigator *value);
329 void ApplyProductionCut(G4Track*);
444 return std::max(fpState->fEndpointSafety - (fpState->fEndpointSafOrigin
445 - fpPostStepPoint->GetPosition()).mag(),
471 fpParticleChange = 0;
478 fpTransportation = 0;
483 fAtRestDoItProcTriggered =
INT_MAX;
484 fPostStepDoItProcTriggered =
INT_MAX;
485 fPostStepAtTimeDoItProcTriggered =
INT_MAX;
486 fGPILSelection = NotCandidateForSelection;
487 fCondition = NotForced;
497 #endif // G4ITSTEPPROCESSOR_H G4TrackVector * fpSecondary
const G4Step * GetStep() const
size_t GetPostStepAtTimeDoItProcTriggered() const
void SetStep(G4Step *val)
size_t fAtRestDoItProcTriggered
G4ProcessVector * fpAtRestGetPhysIntVector
const ProcessGeneralInfo * GetCurrentProcessInfo() const
G4ITTrackingManager * fpTrackingManager
G4ThreeVector fEndpointSafOrigin
void SetTrackingManager(G4ITTrackingManager *trackMan)
G4ITTransportation * fpTransportation
G4GPILSelection fGPILSelection
G4TrackVector * GetSecondaries() const
class std::vector< int, std::allocator< int > > G4SelectedAtRestDoItVector
class std::vector< int, std::allocator< int > > G4SelectedAlongStepDoItVector
G4TouchableHandle fTouchableHandle
void SetNavigator(G4ITNavigator *value)
size_t MAXofAlongStepLoops
std::map< const G4ParticleDefinition *, ProcessGeneralInfo * > fProcessGeneralInfoMap
G4ProcessVector * fpAlongStepDoItVector
G4ProcessVector * fpPostStepDoItVector
G4ForceCondition GetCondition() const
G4double GetPhysIntLength() const
G4VITProcess * fpCurrentProcess
void SetPreviousStepTime(G4double)
G4int GetN2ndariesAlongStepDoIt() const
G4int fN2ndariesPostStepDoIt
G4SelectedAtRestDoItVector fSelectedAtRestDoItVector
G4double CalculateSafety()
G4ForceCondition fCondition
G4ITTrackHolder * fpTrackContainer
G4SelectedPostStepDoItVector fSelectedPostStepDoItVector
size_t GetAtRestDoItProcTriggered() const
G4ITTrackingManager * GetTrackingManager()
G4TrackingInformation * fpTrackingInfo
class std::vector< int, std::allocator< int > > G4SelectedPostStepDoItVector
G4ProcessVector * fpAlongStepGetPhysIntVector
G4StepPoint * fpPreStepPoint
G4ITLeadingTracks fLeadingTracks
G4ProcessVector * fpAtRestDoItVector
G4int GetN2ndariesPostStepDoIt() const
G4ITTrackingManager * fpTrackingManager
size_t fPostStepDoItProcTriggered
G4ProcessVector * fpPostStepGetPhysIntVector
G4VPhysicalVolume * fpCurrentVolume
const G4VPhysicalVolume * GetCurrentVolume() const
const G4VParticleChange * GetParticleChange() const
double GetInteractionTime()
G4ITNavigator * fpNavigator
G4ITStepProcessorState * fpState
const G4VITProcess * GetCurrentProcess() const
G4StepPoint * fpPostStepPoint
G4int fN2ndariesAtRestDoIt
G4VParticleChange * fpParticleChange
G4int GetN2ndariesAtRestDoIt() const
G4ITTransportation * fpTransportation
size_t MAXofPostStepLoops
const G4ITStepProcessorState * GetProcessorState() const
G4GPILSelection GetGPILSelection() const
G4Scheduler & operator=(const G4Scheduler &)
ProcessGeneralInfo * fpProcessInfo
G4VITSteppingVerbose * fpVerbose
G4double fPreviousStepSize
G4double fPreviousTimeStep
G4int fN2ndariesAlongStepDoIt
size_t GetPostStepDoItProcTriggered() const
size_t fPostStepAtTimeDoItProcTriggered