46 if(
this == &right)
return *
this;
75 G4double __output = (*fReactionData)[__i] -> GetReducedReactionRadius();
83 const G4bool __alongStepReaction)
86 bool __do_break = false ;
94 if(__postStepSeparation > __R2)
101 if(__do_break ==
false)
105 __r = std::sqrt(__postStepSeparation);
108 else if(__alongStepReaction ==
true)
120 __r = (__postStepSeparation = std::sqrt(__postStepSeparation) );
133 exceptionDescription <<
"The molecule : " << __moleculeA->
GetName();
134 exceptionDescription <<
" did not move since the previous step ";
135 G4Exception(
"G4DNASmoluchowskiReactionModel::FindReaction",
"G4DNASmoluchowskiReactionModel",
139 G4double __preStepSeparation = (__preStepPositionA - __preStepPositionB).mag();
141 G4double __probabiltyOfEncounter = std::exp(-(__preStepSeparation - __R)*(__postStepSeparation - __R)
145 if(__selectedPOE<=__probabiltyOfEncounter)
return true;
G4Molecule * GetMolecule(const G4Track &track)
const G4DNAMolecularReactionData * GetReactionData(const G4Molecule *, const G4Molecule *) const
G4DNASmoluchowskiReactionModel()
virtual ~G4DNASmoluchowskiReactionModel()
virtual void Initialise(const G4Molecule *, const G4Track &)
virtual G4double GetReactionRadius(const G4Molecule *, const G4Molecule *)
virtual void InitialiseToPrint(const G4Molecule *)
virtual G4bool FindReaction(const G4Track &, const G4Track &, const G4double, G4double &, const G4bool)
const G4String & GetName() const
G4double GetDiffusionCoefficient() const
const G4ThreeVector & GetPosition() const
G4double GetDeltaTime() const
G4StepPoint * GetPreStepPoint() const
const G4ThreeVector & GetPosition() const
const G4Step * GetStep() const
const G4DNAMolecularReactionTable * fReactionTable
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
std::ostringstream G4ExceptionDescription