28#ifndef G4DNAPolyNucleotideReactionProcess_hh
29#define G4DNAPolyNucleotideReactionProcess_hh
34class G4DNAComponentNode;
41 const G4String& aName =
"DNAStaticMoleculeReactionProcess",
42 G4int verbosityLevel = 0);
75 struct G4PolyNucleotideReactionState
78 G4PolyNucleotideReactionState();
79 ~G4PolyNucleotideReactionState()
override =
default;
80 G4String GetType()
override {
return "PolyNucleotideReactionState"; }
83 std::variant<
const G4DNAComponentNode*,
85 DNANode fNodeReactant;
87 G4double fPreviousTimeAtPreStepPoint;
89 G4bool fHasAlreadyReachedNullTime{
false};
102 fpDamageModel = pModel;
void SetDNADamageReactionModel(G4VDNAHitModel *pModel)
~G4DNAPolyNucleotideReactionProcess() override
G4DNAPolyNucleotideReactionProcess & operator=(const G4DNAPolyNucleotideReactionProcess &)=delete
void SetVerbose(G4int verbose)
G4double PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *pForceCond) override
G4double GetMeanFreePath(const G4Track &, G4double, G4ForceCondition *) override
G4DNAPolyNucleotideReactionProcess(const G4String &aName="DNAStaticMoleculeReactionProcess", G4int verbosityLevel=0)
G4double CalculateTimeStep(const G4Track &trackA, const G4double &userTimeStep=0)
G4DNAPolyNucleotideReactionProcess(const G4DNAPolyNucleotideReactionProcess &)=delete
G4VParticleChange * PostStepDoIt(const G4Track &track, const G4Step &) override
G4bool IsApplicable(const G4ParticleDefinition &) override
void StartTracking(G4Track *aTrack) override
G4VParticleChange fParticleChange