Geant4-11
Public Member Functions | Protected Attributes | Private Attributes
G4DiffusionControlledReactionModel Class Reference

#include <G4DiffusionControlledReactionModel.hh>

Inheritance diagram for G4DiffusionControlledReactionModel:
G4VDNAReactionModel

Public Member Functions

G4bool FindReaction (const G4Track &, const G4Track &, G4double, G4double &, G4bool) override
 
 G4DiffusionControlledReactionModel ()
 
 G4DiffusionControlledReactionModel (const G4DiffusionControlledReactionModel &)=delete
 
G4double GetReactionRadius (const G4MolecularConfiguration *, const G4MolecularConfiguration *) override
 
G4double GetReactionRadius (G4int) override
 
const G4DNAMolecularReactionTableGetReactionTable ()
 
void Initialise (const G4MolecularConfiguration *, const G4Track &) override
 
void InitialiseToPrint (const G4MolecularConfiguration *) override
 
G4DiffusionControlledReactionModeloperator= (const G4DiffusionControlledReactionModel &)=delete
 
void SetReactionTable (const G4DNAMolecularReactionTable *)
 
void SetReactionTypeManager (G4VReactionTypeManager *typeManager)
 
 ~G4DiffusionControlledReactionModel () override
 

Protected Attributes

const G4DNAMolecularReactionTablefpReactionTable
 

Private Attributes

const std::vector< const G4DNAMolecularReactionData * > * fpReactionData
 
G4DNAReactionTypeManagerfReactionTypeManager
 

Detailed Description

Definition at line 37 of file G4DiffusionControlledReactionModel.hh.

Constructor & Destructor Documentation

◆ G4DiffusionControlledReactionModel() [1/2]

G4DiffusionControlledReactionModel::G4DiffusionControlledReactionModel ( )

Definition at line 37 of file G4DiffusionControlledReactionModel.cc.

39 , fpReactionData(nullptr)
40 , fReactionTypeManager(nullptr)
41{
42}
const std::vector< const G4DNAMolecularReactionData * > * fpReactionData

◆ ~G4DiffusionControlledReactionModel()

G4DiffusionControlledReactionModel::~G4DiffusionControlledReactionModel ( )
overridedefault

◆ G4DiffusionControlledReactionModel() [2/2]

G4DiffusionControlledReactionModel::G4DiffusionControlledReactionModel ( const G4DiffusionControlledReactionModel )
delete

Member Function Documentation

◆ FindReaction()

G4bool G4DiffusionControlledReactionModel::FindReaction ( const G4Track ,
const G4Track ,
G4double  ,
G4double ,
G4bool   
)
inlineoverridevirtual

Implements G4VDNAReactionModel.

Definition at line 52 of file G4DiffusionControlledReactionModel.hh.

57 {return true;}

◆ GetReactionRadius() [1/2]

G4double G4DiffusionControlledReactionModel::GetReactionRadius ( const G4MolecularConfiguration pMol1,
const G4MolecularConfiguration pMol2 
)
overridevirtual

Implements G4VDNAReactionModel.

Definition at line 57 of file G4DiffusionControlledReactionModel.cc.

59{
60 auto reactionData = fpReactionTable->GetReactionData(pMol1, pMol2);
61 if(reactionData == nullptr)
62 {
63 G4ExceptionDescription exceptionDescription;
64 exceptionDescription << "No reactionData"
65 <<" for : "<<pMol1->GetName()
66 <<" and "<<pMol2->GetName();
67 G4Exception("G4DiffusionControlledReactionModel"
68 "::GetReactionRadius()", "G4DiffusionControlledReactionModel00",
69 FatalException, exceptionDescription);
70 }
71 G4double kobs = reactionData->GetObservedReactionRateConstant();
72 G4double D;
73 if(pMol1 == pMol2)
74 {
75 D = (pMol1->GetDiffusionCoefficient());
76 }
77 else
78 {
79 D = (pMol1->GetDiffusionCoefficient() +
80 pMol2->GetDiffusionCoefficient());//
81 }
82
83 if ( D == 0 )
84 {
85 G4ExceptionDescription exceptionDescription;
86 exceptionDescription << "D = "<< D
87 << " is uncorrected"
88 <<" for : "<<pMol1->GetName()
89 <<" and "<<pMol2->GetName();
90 G4Exception("G4DiffusionControlledReactionModel"
91 "::GetReactionRadius()", "G4DiffusionControlledReactionModel01",
92 FatalException, exceptionDescription);
93 }
94
95 G4double Reff = kobs / ( 4 * CLHEP::pi * D * Avogadro );
96 return Reff;
97}
G4double D(G4double temp)
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35
std::ostringstream G4ExceptionDescription
Definition: G4Exception.hh:40
double G4double
Definition: G4Types.hh:83
Data * GetReactionData(Reactant *, Reactant *) const
const G4String & GetName() const
const G4DNAMolecularReactionTable * fpReactionTable
static constexpr double pi
Definition: SystemOfUnits.h:55
float Avogadro
Definition: hepunit.py:252

References source.hepunit::Avogadro, D(), FatalException, G4VDNAReactionModel::fpReactionTable, G4Exception(), G4MolecularConfiguration::GetDiffusionCoefficient(), G4MolecularConfiguration::GetName(), G4DNAMolecularReactionTable::GetReactionData(), and CLHEP::pi.

Referenced by GetReactionRadius().

◆ GetReactionRadius() [2/2]

G4double G4DiffusionControlledReactionModel::GetReactionRadius ( G4int  i)
overridevirtual

Implements G4VDNAReactionModel.

Definition at line 99 of file G4DiffusionControlledReactionModel.cc.

100{
101 auto pMol1 = (*fpReactionData)[i]->GetReactant1();
102 auto pMol2 = (*fpReactionData)[i]->GetReactant2();
103 return GetReactionRadius(pMol1,pMol2);
104}
G4double GetReactionRadius(const G4MolecularConfiguration *, const G4MolecularConfiguration *) override

References GetReactionRadius().

◆ GetReactionTable()

const G4DNAMolecularReactionTable * G4VDNAReactionModel::GetReactionTable ( )
inherited

Definition at line 41 of file G4VDNAReactionModel.cc.

42{
43 return fpReactionTable;
44}

References G4VDNAReactionModel::fpReactionTable.

Referenced by G4DNAMolecularReactionTable::PrintTable().

◆ Initialise()

void G4DiffusionControlledReactionModel::Initialise ( const G4MolecularConfiguration pMolecule,
const G4Track  
)
overridevirtual

◆ InitialiseToPrint()

void G4DiffusionControlledReactionModel::InitialiseToPrint ( const G4MolecularConfiguration pMolecule)
overridevirtual

◆ operator=()

G4DiffusionControlledReactionModel & G4DiffusionControlledReactionModel::operator= ( const G4DiffusionControlledReactionModel )
delete

◆ SetReactionTable()

void G4VDNAReactionModel::SetReactionTable ( const G4DNAMolecularReactionTable pReactionTable)
inherited

Definition at line 36 of file G4VDNAReactionModel.cc.

37{
38 fpReactionTable = pReactionTable;
39}

References G4VDNAReactionModel::fpReactionTable.

Referenced by G4DNAMolecularReactionTable::PrintTable().

◆ SetReactionTypeManager()

void G4DiffusionControlledReactionModel::SetReactionTypeManager ( G4VReactionTypeManager typeManager)

Field Documentation

◆ fpReactionData

const std::vector<const G4DNAMolecularReactionData*>* G4DiffusionControlledReactionModel::fpReactionData
private

Definition at line 62 of file G4DiffusionControlledReactionModel.hh.

Referenced by Initialise(), and InitialiseToPrint().

◆ fpReactionTable

const G4DNAMolecularReactionTable* G4VDNAReactionModel::fpReactionTable
protectedinherited

◆ fReactionTypeManager

G4DNAReactionTypeManager* G4DiffusionControlledReactionModel::fReactionTypeManager
private

Definition at line 63 of file G4DiffusionControlledReactionModel.hh.

Referenced by SetReactionTypeManager().


The documentation for this class was generated from the following files: