27#ifndef G4DNAEventScheduler_hh
28#define G4DNAEventScheduler_hh 1
58 using MapList = std::map<MolType, size_t>;
101 G4bool fInitialized =
false;
102 G4double fStartTime = 1 * CLHEP::picosecond;
103 G4double fEndTime = 10000 * CLHEP::second;
104 G4int fStepNumber = 0;
108 G4double fGlobalTime = 1 * CLHEP::picosecond;
112 G4bool fIsChangeMesh =
false;
113 G4bool fSetChangeMesh =
true;
114 G4int fStepNumberInMesh = 0;
119 std::unique_ptr<G4DNAMesh> fpMesh;
120 std::unique_ptr<G4DNAGillespieDirectMethod> fpGillespieReaction;
121 std::unique_ptr<G4DNAEventSet> fpEventSet;
122 std::unique_ptr<G4DNAUpdateSystemModel> fpUpdateSystem;
123 std::unique_ptr<G4UserMeshAction> fpUserMeshAction;
126 std::set<G4double> fTimeToRecord;
127 std::set<G4double>::iterator fLastRecoredTime;
128 void ResetEventSet();
129 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
void Voxelizing(const G4DNABoundingBox &boundingBox)
G4double GetGlobalTime() const
const G4MolecularConfiguration * MolType
void ParticleBasedCounter()
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