Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4DNAMolecularReactionData Class Reference

#include <G4DNAMolecularReactionTable.hh>

Public Member Functions

 G4DNAMolecularReactionData (G4double reactionRate, const G4Molecule *reactive1, const G4Molecule *reactive2)
 
 ~G4DNAMolecularReactionData ()
 
const G4MoleculeGetReactive1 () const
 
const G4MoleculeGetReactive2 () const
 
G4double GetReactionRate () const
 
G4double GetReducedReactionRadius () const
 
void SetReactive1 (const G4Molecule *reactive)
 
void SetReactive2 (const G4Molecule *reactive)
 
void SetReactive (const G4Molecule *reactive1, const G4Molecule *reactive2)
 
void AddProduct (const G4Molecule *molecule)
 
G4int GetNbProducts () const
 
const G4MoleculeGetProduct (G4int i) const
 

Protected Member Functions

 G4DNAMolecularReactionData ()
 

Protected Attributes

G4MoleculeHandle fReactive1
 
G4MoleculeHandle fReactive2
 
G4double fReactionRate
 
G4double fReducedReactionRadius
 
std::vector< G4MoleculeHandle > * fProducts
 

Detailed Description

G4DNAMolecularReactionData contains the information relative to a given reaction (eg : °OH + °OH -> H2O2)

Definition at line 56 of file G4DNAMolecularReactionTable.hh.

Constructor & Destructor Documentation

◆ G4DNAMolecularReactionData() [1/2]

G4DNAMolecularReactionData::G4DNAMolecularReactionData ( G4double  reactionRate,
const G4Molecule reactive1,
const G4Molecule reactive2 
)

Definition at line 58 of file G4DNAMolecularReactionTable.cc.

60 :fProducts(0)
61{
62 fReactionRate = reactionRate;
63 SetReactive1(reactive1);
64 SetReactive2(reactive2);
65
66 G4double sumDiffCoeff(0.);
67
68 if(*reactive1 == *reactive2)
69 {
70 sumDiffCoeff = reactive1->GetDiffusionCoefficient();
72 }
73 else
74 {
75 sumDiffCoeff = reactive1->GetDiffusionCoefficient() + reactive2->GetDiffusionCoefficient();
76 fReducedReactionRadius = fReactionRate/(4*pi* sumDiffCoeff * Avogadro);
77 }
78}
double G4double
Definition: G4Types.hh:64
void SetReactive2(const G4Molecule *reactive)
std::vector< G4MoleculeHandle > * fProducts
void SetReactive1(const G4Molecule *reactive)
G4double GetDiffusionCoefficient() const
Definition: G4Molecule.cc:405
const G4double pi

◆ ~G4DNAMolecularReactionData()

G4DNAMolecularReactionData::~G4DNAMolecularReactionData ( )

Definition at line 80 of file G4DNAMolecularReactionTable.cc.

81{
82 if(fProducts)
83 {
84 fProducts->clear() ;
85 delete fProducts;
86 fProducts = 0;
87 }
88}

◆ G4DNAMolecularReactionData() [2/2]

G4DNAMolecularReactionData::G4DNAMolecularReactionData ( )
protected

Member Function Documentation

◆ AddProduct()

void G4DNAMolecularReactionData::AddProduct ( const G4Molecule molecule)

Definition at line 105 of file G4DNAMolecularReactionTable.cc.

106{
107 if(!fProducts) fProducts = new std::vector<G4MoleculeHandle>();
108 fProducts->push_back(G4MoleculeHandleManager::Instance()->GetMoleculeHandle(molecule));
109}
static G4MoleculeHandleManager * Instance()

Referenced by G4EmDNAPhysicsChemistry::ConstructReactionTable().

◆ GetNbProducts()

G4int G4DNAMolecularReactionData::GetNbProducts ( ) const
inline

Definition at line 76 of file G4DNAMolecularReactionTable.hh.

77 {
78 if(fProducts) return fProducts->size();
79 return 0;
80 }

Referenced by G4DNAMolecularReaction::MakeReaction(), and G4DNAMolecularReactionTable::PrintTable().

◆ GetProduct()

const G4Molecule * G4DNAMolecularReactionData::GetProduct ( G4int  i) const
inline

Definition at line 82 of file G4DNAMolecularReactionTable.hh.

83 {
84 if(fProducts) return (*fProducts)[i].get();
85 return 0;
86 }

Referenced by G4DNAMolecularReaction::MakeReaction(), and G4DNAMolecularReactionTable::PrintTable().

◆ GetReactionRate()

G4double G4DNAMolecularReactionData::GetReactionRate ( ) const
inline

Definition at line 67 of file G4DNAMolecularReactionTable.hh.

67{return fReactionRate;}

Referenced by G4DNAMolecularReactionTable::PrintTable().

◆ GetReactive1()

const G4Molecule * G4DNAMolecularReactionData::GetReactive1 ( ) const
inline

◆ GetReactive2()

const G4Molecule * G4DNAMolecularReactionData::GetReactive2 ( ) const
inline

◆ GetReducedReactionRadius()

G4double G4DNAMolecularReactionData::GetReducedReactionRadius ( ) const
inline

Definition at line 68 of file G4DNAMolecularReactionTable.hh.

◆ SetReactive()

void G4DNAMolecularReactionData::SetReactive ( const G4Molecule reactive1,
const G4Molecule reactive2 
)

Definition at line 98 of file G4DNAMolecularReactionTable.cc.

◆ SetReactive1()

void G4DNAMolecularReactionData::SetReactive1 ( const G4Molecule reactive)

◆ SetReactive2()

void G4DNAMolecularReactionData::SetReactive2 ( const G4Molecule reactive)

Member Data Documentation

◆ fProducts

std::vector<G4MoleculeHandle>* G4DNAMolecularReactionData::fProducts
protected

◆ fReactionRate

G4double G4DNAMolecularReactionData::fReactionRate
protected

Definition at line 92 of file G4DNAMolecularReactionTable.hh.

Referenced by G4DNAMolecularReactionData(), and GetReactionRate().

◆ fReactive1

G4MoleculeHandle G4DNAMolecularReactionData::fReactive1
protected

Definition at line 90 of file G4DNAMolecularReactionTable.hh.

Referenced by GetReactive1(), SetReactive(), and SetReactive1().

◆ fReactive2

G4MoleculeHandle G4DNAMolecularReactionData::fReactive2
protected

Definition at line 91 of file G4DNAMolecularReactionTable.hh.

Referenced by GetReactive2(), SetReactive(), and SetReactive2().

◆ fReducedReactionRadius

G4double G4DNAMolecularReactionData::fReducedReactionRadius
protected

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