37 , fpReactionData(nullptr)
63 G4double __output = (*fpReactionData)[__i]->GetEffectiveReactionRadius();
71 const G4bool __alongStepReaction)
73 const G4double R2 = __reactionRadius * __reactionRadius;
75 bool do_break =
false;
80 postStepSeparation += std::pow(
83 if (postStepSeparation > R2)
90 if (do_break ==
false)
94 __separationDistance = std::sqrt(postStepSeparation);
97 else if (__alongStepReaction ==
true)
104 postStepSeparation += std::pow(
108 __separationDistance = (postStepSeparation = std::sqrt(postStepSeparation));
113 G4double D = pMoleculeA->GetDiffusionCoefficient()
114 + pMoleculeB->GetDiffusionCoefficient();
119 G4double preStepSeparation = (preStepPositionA - preStepPositionB).mag();
123 G4double __probabiltyOfEncounter =
G4Exp(-(preStepSeparation - __reactionRadius)
124 * (postStepSeparation - __reactionRadius)
129 if (__selectedPOE <= __probabiltyOfEncounter)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4Molecule * GetMolecule(const G4Track &track)
G4double GetEffectiveReactionRadius() const
Data * GetReactionData(Reactant *, Reactant *) const
G4DNASmoluchowskiReactionModel()
virtual ~G4DNASmoluchowskiReactionModel()
virtual G4double GetReactionRadius(const G4MolecularConfiguration *, const G4MolecularConfiguration *)
virtual void Initialise(const G4MolecularConfiguration *, const G4Track &)
virtual void InitialiseToPrint(const G4MolecularConfiguration *)
virtual G4bool FindReaction(const G4Track &, const G4Track &, G4double, G4double &, G4bool)
const G4ThreeVector & GetPosition() const
G4double GetDeltaTime() const
G4StepPoint * GetPreStepPoint() const
const G4ThreeVector & GetPosition() const
const G4Step * GetStep() const
const G4DNAMolecularReactionTable * fpReactionTable