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;
365 #endif // G4ITSTEPPROCESSOR_H
void SetStep(G4Step *val)
void SetTrackingManager(G4ITTrackingManager *trackMan)
typedef int(XMLCALL *XML_NotStandaloneHandler)(void *userData)
class std::vector< int, std::allocator< int > > G4SelectedAtRestDoItVector
class std::vector< int, std::allocator< int > > G4SelectedAlongStepDoItVector
void InvokeAlongStepDoItProcs()
void SetNavigator(G4ITNavigator *value)
void UpdateTrack(G4Track *)
void SetPreviousStepTime(G4double)
G4double CalculateSafety()
void DefinePhysicalStepLength(G4Track *)
G4ITTrackingManager * GetTrackingManager()
class std::vector< int, std::allocator< int > > G4SelectedPostStepDoItVector
void ActiveOnlyITProcess()
const G4ThreeVector & GetPosition() const
void ApplyProductionCut(G4Track *)
void FindTransportationStep()
void DealWithSecondaries(G4int &)
G4TrackVector * GetSecondaries()
double GetInteractionTime()
void InvokeTransportationProc()
virtual void Initialize()
void InvokeAtRestDoItProcs()
std::vector< G4Track * > G4TrackVector
T max(const T t1, const T t2)
brief Return the largest of the two arguments
void Stepping(G4Track *, const double &)
G4ITStepProcessor & operator=(const G4ITStepProcessor &other)
void InvokePostStepDoItProcs()
const XML_Char int const XML_Char * value
void DoDefinePhysicalStepLength()
virtual ~G4ITStepProcessor()
void SetupGeneralProcessInfo(G4ParticleDefinition *, G4ProcessManager *)
void DoIt(G4Track *, double)
const G4Step * GetStep() const
void ForceReInitialization()