Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes
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::G4DNAMolecularReactionData ( G4double  reactionRate,
const G4Molecule reactive1,
const G4Molecule reactive2 
)

Definition at line 59 of file G4DNAMolecularReactionTable.cc.

References python.hepunit::Avogadro, fReactionRate, fReducedReactionRadius, G4Molecule::GetDiffusionCoefficient(), python.hepunit::pi, SetReactive1(), and SetReactive2().

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

Definition at line 81 of file G4DNAMolecularReactionTable.cc.

References fProducts.

82 {
83  if(fProducts)
84  {
85  fProducts->clear() ;
86  delete fProducts;
87  fProducts = 0;
88  }
89 }
std::vector< G4MoleculeHandle > * fProducts
G4DNAMolecularReactionData::G4DNAMolecularReactionData ( )
protected

Member Function Documentation

void G4DNAMolecularReactionData::AddProduct ( const G4Molecule molecule)

Definition at line 106 of file G4DNAMolecularReactionTable.cc.

References fProducts, and G4MoleculeHandleManager::Instance().

107 {
108  if(!fProducts) fProducts = new std::vector<G4MoleculeHandle>();
109  fProducts->push_back(G4MoleculeHandleManager::Instance()->GetMoleculeHandle(molecule));
110 }
std::vector< G4MoleculeHandle > * fProducts
static G4MoleculeHandleManager * Instance()
G4int G4DNAMolecularReactionData::GetNbProducts ( ) const
inline

Definition at line 76 of file G4DNAMolecularReactionTable.hh.

References fProducts.

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

77  {
78  if(fProducts) return fProducts->size();
79  return 0;
80  }
std::vector< G4MoleculeHandle > * fProducts
const G4Molecule* G4DNAMolecularReactionData::GetProduct ( G4int  i) const
inline

Definition at line 82 of file G4DNAMolecularReactionTable.hh.

References fProducts.

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

83  {
84  if(fProducts) return (*fProducts)[i].get();
85  return 0;
86  }
std::vector< G4MoleculeHandle > * fProducts
G4double G4DNAMolecularReactionData::GetReactionRate ( ) const
inline
const G4Molecule* G4DNAMolecularReactionData::GetReactive1 ( ) const
inline
const G4Molecule* G4DNAMolecularReactionData::GetReactive2 ( ) const
inline
G4double G4DNAMolecularReactionData::GetReducedReactionRadius ( ) const
inline
void G4DNAMolecularReactionData::SetReactive ( const G4Molecule reactive1,
const G4Molecule reactive2 
)
void G4DNAMolecularReactionData::SetReactive1 ( const G4Molecule reactive)
void G4DNAMolecularReactionData::SetReactive2 ( const G4Molecule reactive)

Field Documentation

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

Definition at line 92 of file G4DNAMolecularReactionTable.hh.

Referenced by G4DNAMolecularReactionData(), and GetReactionRate().

G4MoleculeHandle G4DNAMolecularReactionData::fReactive1
protected

Definition at line 90 of file G4DNAMolecularReactionTable.hh.

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

G4MoleculeHandle G4DNAMolecularReactionData::fReactive2
protected

Definition at line 91 of file G4DNAMolecularReactionTable.hh.

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

G4double G4DNAMolecularReactionData::fReducedReactionRadius
protected

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