72#ifndef compTrackPerID__
73# define compTrackPerID__
108 void Reset()
override;
137 inline void SetTimeSteps(std::map<G4double, G4double>*)
override;
187 fpUserScavenger = std::move(scavengerMaterial);
190 return fInteractionStep;
193 fInteractionStep = InteractionStep;
226 G4bool fUseDefaultTimeSteps;
234 G4int fZeroTimeCount;
235 G4int fMaxNZeroTimeStepsAllowed;
241 G4bool fUsePreDefinedTimeSteps;
243 std::map<G4double, G4double>* fpUserTimeSteps =
nullptr;
245 mutable G4double fUserUpperTimeLimit;
248 G4bool fReachedUserTimeLimit;
250 std::set<G4double> fWatchedTimes;
254 std::unique_ptr<G4VScavengerMaterial> fpUserScavenger;
294 return fpModelHandler;
299 fEndTime = __endtime;
304 fUsePreDefinedTimeSteps =
true;
305 fpUserTimeSteps = steps;
310 if (fpUserTimeSteps ==
nullptr) {
311 fpUserTimeSteps =
new std::map<G4double, G4double>();
312 fUsePreDefinedTimeSteps =
true;
315 (*fpUserTimeSteps)[startingTime] = timeStep;
325 fMaxSteps = maxSteps;
350 fDefaultMinTimeStep = timeStep;
360 fpUserTimeStepAction = userITAction;
365 return fpUserTimeStepAction;
380 fMaxNZeroTimeStepsAllowed = maxTimeStepAllowed;
385 return fMaxNZeroTimeStepsAllowed;
390 fTimeTolerance = time;
395 return fTimeTolerance;
400 return fPreviousTimeStep;
405 return fITStepStatus;
415 return fpTrackingInteractivity;
430 fWhyDoYouStop =
true;
435 fUseDefaultTimeSteps = flag;
440 return (!fUseDefaultTimeSteps && !fUsePreDefinedTimeSteps);
445 fResetScavenger = value;
G4double GetStartTime() const override
void SetEndTime(const G4double) override
void SetMaxTimeStep(G4double maxTimeStep)
G4double GetEndTime() const override
void SetDefaultTimeStep(G4double) override
void SetUserAction(G4UserTimeStepAction *) override
G4double GetTimeStep() const override
void FindUserPreDefinedTimeStep()
G4bool IsRunning() override
void ForceReinitialization()
G4Scheduler & operator=(const G4Scheduler &)=delete
G4bool Notify(G4ApplicationState requestedState) override
G4int GetNbSteps() const override
G4UserTimeStepAction * GetUserTimeStepAction() const override
G4double GetNextWatchedTime() const
G4double GetMaxTimeStep() const
void SetVerbose(G4int) override
G4double GetTimeTolerance() const override
void SetInteractionStep(G4bool InteractionStep)
G4bool IsInteractionStep()
void SetMaxZeroTimeAllowed(G4int) override
G4ITModelHandler * GetModelHandler() override
void SetGun(G4ITGun *) override
void SetMaxNbSteps(G4int) override
static G4Scheduler * Instance()
G4ITStepStatus GetStatus() const
void AddTimeStep(G4double, G4double) override
G4int GetMaxNbSteps() const override
G4double GetGlobalTime() const override
G4int GetMaxZeroTimeAllowed() const override
void Initialize() override
G4bool AreDefaultTimeStepsUsed()
void SetTimeTolerance(G4double) override
G4double GetPreviousTimeStep() const override
virtual size_t GetNTracks()
void AddWatchedTime(G4double time)
G4Scheduler(const G4Scheduler &)=delete
G4ITTrackingInteractivity * GetInteractivity() override
void GetCollisionType(G4String &interactionType)
void SetInteractivity(G4ITTrackingInteractivity *) override
G4double GetLimitingTimeStep() const override
void ResetScavenger(bool)
void RegisterModel(G4VITStepModel *, G4double) override
static void DeleteInstance()
void SetScavengerMaterial(std::unique_ptr< G4VScavengerMaterial > scavengerMaterial)
void SetTimeSteps(std::map< G4double, G4double > *) override
void UseDefaultTimeSteps(G4bool)
G4VScavengerMaterial * GetScavengerMaterial() const
G4VStateDependent(G4bool bottom=false)
G4bool operator()(G4Track *rhs, G4Track *lhs) const