81 if (
this == &rhs)
return *
this;
94 const double currentStepTime,
96 bool userStepTimeLimit)
106 "You have to give a reaction model to the molecular reaction process");
107 G4Exception(
"G4DNAMolecularReaction::TestReactibility",
109 exceptionDescription);
115 "You have to give a reaction table to the molecular reaction process");
116 G4Exception(
"G4DNAMolecularReaction::TestReactibility",
118 exceptionDescription);
128 if (currentStepTime == 0.)
130 userStepTimeLimit =
false;
140 G4cout <<
"\033[1;39;36m" <<
"G4MolecularReaction " <<
G4endl;
144 <<
" calculated distance by model (= -1 if real distance > reaction radius and the user limitation step is not reached) : "
150 <<
" | MolA " << moleculeA->
GetName()
151 <<
", MolB " << moleculeB->
GetName()
154 G4cout <<
"--------------------------------------------" <<
G4endl;
175 G4cout <<
"G4DNAMolecularReaction::MakeReaction" <<
G4endl;
187 G4cout <<
"--------------------------------------------" <<
G4endl;
206 for (
G4int j = 0; j < nbProducts; j++)
G4double GetDiffusionCoefficient() const
void SetTrackStatus(const G4TrackStatus aTrackStatus)
G4DNAMolecularReaction & operator=(const G4DNAMolecularReaction &other)
virtual G4bool TestReactibility(const G4Track &, const G4Track &, const double currentStepTime, const double previousStepTime, bool userStepTimeLimit)
const G4String & GetName() const
virtual void Push(G4Track *track)
const G4DNAMolecularReactionData * GetReactionData(G4MolecularConfiguration *, G4MolecularConfiguration *) const
std::ostringstream G4ExceptionDescription
const G4ThreeVector & GetPosition() const
ReturnType & reference_cast(OriginalType &source)
static G4ITFinder * Instance()
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4MolecularConfiguration * GetMolecularConfiguration() const
const G4ThreeVector const G4double const
G4GLOB_DLL std::ostream G4cout
virtual ~G4DNAMolecularReaction()
void Initialize(const G4Track &, const G4Track &, G4VParticleChange *particleChangeA=0, G4VParticleChange *particleChangeB=0)
virtual G4double GetReactionRadius(G4MolecularConfiguration *, G4MolecularConfiguration *)=0
G4double GetGlobalTime() const
G4Molecule * GetMolecule(const G4Track &track)
const G4DNAMolecularReactionTable *& fMolReactionTable
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4int GetNbProducts() const
G4Track * BuildTrack(G4double globalTime, const G4ThreeVector &Position)
virtual G4bool FindReaction(const G4Track &, const G4Track &, const G4double, G4double &, const G4bool)=0
G4VDNAReactionModel * fReactionModel
G4ITReactionChange * fpChanges
virtual G4ITReactionChange * MakeReaction(const G4Track &, const G4Track &)
G4MolecularConfiguration * GetProduct(G4int i) const
void AddSecondary(G4Track *aSecondary)