27#ifndef G4DNAEventScheduler_hh
28#define G4DNAEventScheduler_hh 1
58 using MapList = std::map<MolType, size_t>;
99 G4bool fInitialized =
false;
100 G4double fStartTime = 1 * CLHEP::picosecond;
101 G4double fEndTime = 10000 * CLHEP::second;
102 G4int fStepNumber = 0;
106 G4double fGlobalTime = 1 * CLHEP::picosecond;
110 G4bool fIsChangeMesh =
false;
111 G4bool fSetChangeMesh =
true;
112 G4int fStepNumberInMesh = 0;
117 std::unique_ptr<G4DNAMesh> fpMesh;
118 std::unique_ptr<G4DNAGillespieDirectMethod> fpGillespieReaction;
119 std::unique_ptr<G4DNAEventSet> fpEventSet;
120 std::unique_ptr<G4DNAUpdateSystemModel> fpUpdateSystem;
121 std::unique_ptr<G4UserMeshAction> fpUserMeshAction;
124 std::set<G4double> fTimeToRecord;
125 std::set<G4double>::iterator fLastRecoredTime;
126 void ResetEventSet();
127 void LastRegisterForCounter();
void Initialize(const G4DNABoundingBox &boundingBox, G4int pixel)
static G4bool CheckingReactionRadius(G4double resolution)
G4DNAEventScheduler & operator=(const G4DNAEventScheduler &right)=delete
void SetMaxNbSteps(G4int)
void SetUserMeshAction(std::unique_ptr< G4UserMeshAction >)
std::map< G4double, MapCounter > GetCounterMap() const
std::map< MolType, size_t > MapList
void SetEndTime(const G4double &)
void SetVerbose(G4int verbose)
void SetChangeMesh(G4bool change)
G4double GetTimeStep() const
G4double GetEndTime() const
~G4DNAEventScheduler() override
G4DNAMesh * GetMesh() const
G4DNAEventScheduler(const G4DNAEventScheduler &)=delete
G4double GetStartTime() const
void SetStartTime(G4double time)
void ClearAndReChargeCounter()
std::map< MolType, G4int > MapCounter
void AddTimeToRecord(const G4double &time)
static G4H2O2 * Definition()
G4double GetDiffusionCoefficient() const
virtual ~IEventScheduler()=default
IEventScheduler()=default