74#ifndef compTrackPerID__
75#define compTrackPerID__
112 void Reset()
override;
141 inline void SetTimeSteps(std::map<G4double, G4double>*)
override;
182 fWatchedTimes.insert(time);
189 fMaxTimeStep = maxTimeStep;
199 return fpUserScavenger.get();
203 fpUserScavenger = std::move(scavengerMaterial);
237 G4bool fUseDefaultTimeSteps;
245 G4int fZeroTimeCount;
246 G4int fMaxNZeroTimeStepsAllowed;
252 G4bool fUsePreDefinedTimeSteps;
254 std::map<G4double, G4double>* fpUserTimeSteps;
256 mutable G4double fUserUpperTimeLimit;
259 G4bool fReachedUserTimeLimit;
261 std::set<G4double> fWatchedTimes;
265 std::unique_ptr<G4VScavengerMaterial> fpUserScavenger;
292 bool fResetScavenger;
304 return fpModelHandler;
309 fEndTime = __endtime;
315 fUsePreDefinedTimeSteps =
true;
316 fpUserTimeSteps = steps;
321 if (fpUserTimeSteps ==
nullptr)
323 fpUserTimeSteps =
new std::map<G4double, G4double>();
324 fUsePreDefinedTimeSteps =
true;
327 (*fpUserTimeSteps)[startingTime] = timeStep;
337 fMaxSteps = maxSteps;
362 fDefaultMinTimeStep = timeStep;
373 fpUserTimeStepAction = userITAction;
378 return fpUserTimeStepAction;
394 fMaxNZeroTimeStepsAllowed = maxTimeStepAllowed;
399 return fMaxNZeroTimeStepsAllowed;
404 fTimeTolerance = time;
409 return fTimeTolerance;
414 return fPreviousTimeStep;
419 return fITStepStatus;
429 return fpTrackingInteractivity;
444 fWhyDoYouStop =
true;
449 fUseDefaultTimeSteps = flag;
454 return (!fUseDefaultTimeSteps && !fUsePreDefinedTimeSteps);
459 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 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
G4bool operator()(G4Track *rhs, G4Track *lhs) const