72#ifndef compTrackPerID__
73# define compTrackPerID__
108 void Reset()
override;
137 inline void SetTimeSteps(std::map<G4double, G4double>*)
override;
187 fpUserScavenger = std::move(scavengerMaterial);
220 G4bool fUseDefaultTimeSteps;
227 G4int fZeroTimeCount;
228 G4int fMaxNZeroTimeStepsAllowed;
234 G4bool fUsePreDefinedTimeSteps;
236 std::map<G4double, G4double>* fpUserTimeSteps =
nullptr;
238 mutable G4double fUserUpperTimeLimit;
241 G4bool fReachedUserTimeLimit;
243 std::set<G4double> fWatchedTimes;
247 std::unique_ptr<G4VScavengerMaterial> fpUserScavenger;
287 return fpModelHandler;
292 fEndTime = __endtime;
297 fUsePreDefinedTimeSteps =
true;
298 fpUserTimeSteps = steps;
303 if (fpUserTimeSteps ==
nullptr) {
304 fpUserTimeSteps =
new std::map<G4double, G4double>();
305 fUsePreDefinedTimeSteps =
true;
308 (*fpUserTimeSteps)[startingTime] = timeStep;
318 fMaxSteps = maxSteps;
343 fDefaultMinTimeStep = timeStep;
353 fpUserTimeStepAction = userITAction;
358 return fpUserTimeStepAction;
373 fMaxNZeroTimeStepsAllowed = maxTimeStepAllowed;
378 return fMaxNZeroTimeStepsAllowed;
383 fTimeTolerance = time;
388 return fTimeTolerance;
393 return fPreviousTimeStep;
398 return fITStepStatus;
408 return fpTrackingInteractivity;
423 fWhyDoYouStop =
true;
428 fUseDefaultTimeSteps = flag;
433 return (!fUseDefaultTimeSteps && !fUsePreDefinedTimeSteps);
438 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
G4VStateDependent(G4bool bottom=false)
G4bool operator()(G4Track *rhs, G4Track *lhs) const