74#ifndef compTrackPerID__
75#define compTrackPerID__
138 inline void SetTimeSteps(std::map<G4double, G4double>*);
179 fWatchedTimes.insert(time);
186 fMaxTimeStep = maxTimeStep;
196 return fpUserScavenger.get();
200 fpUserScavenger = std::move(scavengerMaterial);
236 G4bool fUseDefaultTimeSteps;
244 G4int fZeroTimeCount;
245 G4int fMaxNZeroTimeStepsAllowed;
251 G4bool fUsePreDefinedTimeSteps;
253 std::map<G4double, G4double>* fpUserTimeSteps;
255 mutable G4double fUserUpperTimeLimit;
258 G4bool fReachedUserTimeLimit;
260 std::set<G4double> fWatchedTimes;
264 std::unique_ptr<G4VScavengerMaterial> fpUserScavenger;
291 bool fResetScavenger;
303 return fpModelHandler;
308 fEndTime = __endtime;
314 fUsePreDefinedTimeSteps =
true;
315 fpUserTimeSteps = steps;
320 if (fpUserTimeSteps == 0)
322 fpUserTimeSteps =
new std::map<G4double, G4double>();
323 fUsePreDefinedTimeSteps =
true;
326 (*fpUserTimeSteps)[startingTime] = timeStep;
336 fMaxSteps = maxSteps;
361 fDefaultMinTimeStep = timeStep;
372 fpUserTimeStepAction = userITAction;
377 return fpUserTimeStepAction;
393 fMaxNZeroTimeStepsAllowed = maxTimeStepAllowed;
398 return fMaxNZeroTimeStepsAllowed;
403 fTimeTolerance = time;
408 return fTimeTolerance;
413 return fPreviousTimeStep;
418 return fITStepStatus;
428 return fpTrackingInteractivity;
443 fWhyDoYouStop =
true;
448 fUseDefaultTimeSteps = flag;
453 return (fUseDefaultTimeSteps ==
false && fUsePreDefinedTimeSteps ==
false);
458 fResetScavenger = value;
void SetMaxTimeStep(G4double maxTimeStep)
void AddTimeStep(G4double, G4double)
virtual G4bool Notify(G4ApplicationState requestedState)
void FindUserPreDefinedTimeStep()
G4int GetMaxZeroTimeAllowed() const
void ForceReinitialization()
virtual void RegisterModel(G4VITStepModel *, G4double)
G4double GetNextWatchedTime() const
G4double GetMaxTimeStep() const
void SetMaxNbSteps(G4int)
G4UserTimeStepAction * GetUserTimeStepAction() const
void SetTimeSteps(std::map< G4double, G4double > *)
void SetInteractivity(G4ITTrackingInteractivity *)
void SetUserAction(G4UserTimeStepAction *)
G4double GetLimitingTimeStep() const
G4int GetMaxNbSteps() const
static G4Scheduler * Instance()
G4ITModelHandler * GetModelHandler()
G4ITStepStatus GetStatus() const
G4double GetEndTime() const
G4bool AreDefaultTimeStepsUsed()
G4double GetPreviousTimeStep() const
virtual size_t GetNTracks()
void SetDefaultTimeStep(G4double)
void AddWatchedTime(G4double time)
G4double GetGlobalTime() const
G4ITTrackingInteractivity * GetInteractivity()
void SetMaxZeroTimeAllowed(G4int)
void SetEndTime(const G4double)
G4double GetTimeTolerance() const
void SetTimeTolerance(G4double)
void GetCollisionType(G4String &interactionType)
void ResetScavenger(bool)
static void DeleteInstance()
void SetScavengerMaterial(std::unique_ptr< G4VScavengerMaterial > scavengerMaterial)
G4double GetStartTime() const
virtual G4double GetTimeStep() const
void UseDefaultTimeSteps(G4bool)
G4VScavengerMaterial * GetScavengerMaterial() const
G4bool operator()(G4Track *rhs, G4Track *lhs) const