30#ifndef G4DNAIndependentReactionTimeStepper_hh
31#define G4DNAIndependentReactionTimeStepper_hh 1
41#include <unordered_map>
77 void InitializeForNewTrack();
79 void CheckAndRecordResults(
G4double reactionTime,
const Utils& utils);
91 std::vector<const G4Track *> fSecondaries;
92 std::unordered_map<G4int, G4ThreeVector> fSampledPositions;
93 std::set<G4int> fCheckedTracks;
94 void InitializeReactions(
G4double currentGlobalTime);
95 G4bool fIsInitialized =
false;
107 const G4Molecule* fpMoleculeA{
nullptr};
108 const G4Molecule* fpMoleculeB{
nullptr};
ReturnType & reference_cast(OriginalType &source)
G4double CalculateStep(const G4Track &, const G4double &) override
G4DNAIndependentReactionTimeStepper()
std::unique_ptr< G4ITReactionChange > FindReaction(G4ITReactionSet *pReactionSet, G4double ¤tStepTime, const G4double globalTime)
G4DNAIndependentReactionTimeStepper(const G4DNAIndependentReactionTimeStepper &)=delete
G4VDNAReactionModel * GetReactionModel()
void SetReactionModel(G4VDNAReactionModel *)
G4double CalculateMinTimeStep(G4double, G4double) override
G4DNAIndependentReactionTimeStepper & operator=(const G4DNAIndependentReactionTimeStepper &)=delete
~G4DNAIndependentReactionTimeStepper() override=default
void SetReactionProcess(G4VITReactionProcess *pReactionProcess)
static G4double GetRCutOff()
static G4ITReactionSet * Instance()
static G4ITTrackHolder * Instance()
const G4ITReactionTable * fpReactionTable