34 : fEquilibriumDuration(time), fRectionType(type)
47 for(
const auto& it : reactionList)
49 if(it->GetReactionType()==fRectionType)
51 if(it->GetReactant1() != H2O
52 && it->GetReactant1() != H3OpB
53 && it->GetReactant1() != OHmB)
55 fReactant1 = it->GetReactant1();
56 fReactantB1 = it->GetReactant2();
59 fReactant1 = it->GetReactant2();
60 fReactantB1 = it->GetReactant1();
62 for(
const auto& itt : *(it->GetProducts()))
74 G4cout <<
"Equilibrium processes(ID) " << fRectionType <<
" : " << fReactant1->
GetName()
75 <<
" <=> " << fReactant2->
GetName()
76 <<
" Time to Equilibrium : " << fEquilibriumDuration / CLHEP::us
77 <<
" Initial status : " << fAddEquilibrium <<
G4endl;
88 <<
" <=> "<<fReactant2->
GetName()
90 <<
" Status : "<<fAddEquilibrium
91 <<
" from "<<
G4BestUnit(fEquilibriumTime,
"Time")<<
" to "
100 std::vector<MolType> molVector;
105 for (
G4int j = 0; j < nbProducts; ++j) {
107 molVector.push_back(product);
110 for(
const auto& it : molVector)
112 if(it == fReactant1 || it == fReactant2 )
114 fAddEquilibrium =
true;
115 fEquilibriumTime = fGlobalTime;
120 G4cout <<
"SetEquilibrium : on " << fRectionType <<
" fEquilibriumTime : "
G4GLOB_DLL std::ostream G4cout
G4ChemEquilibrium(const G4int &type, const G4double &time)
void SetEquilibrium(Reaction pReaction)
Reactant * GetProduct(G4int i) const
G4int GetReactionType() const
Reactant * GetReactant1() const
Reactant * GetReactant2() const
G4int GetNbProducts() const
DataList GetVectorOfReactionData()
static G4DNAMolecularReactionTable * Instance()
const G4String & GetName() const
G4MolecularConfiguration * GetConfiguration(const G4String &, bool mustExist=true)
static G4MoleculeTable * Instance()