98{
99 if(pReaction == nullptr){
100 return;
101 }
102 if(pReaction->GetReactionType() != fRectionType)
103 {
104 std::vector<MolType> molVector;
105 molVector.push_back(pReaction->GetReactant1());
106 molVector.push_back(pReaction->GetReactant2());
107 const G4int nbProducts = pReaction->GetNbProducts();
108 if (nbProducts) {
109 for (
G4int j = 0; j < nbProducts; ++j) {
110 auto product = pReaction->GetProduct(j);
111 molVector.push_back(product);
112 }
113 }
114 for(const auto& it : molVector)
115 {
116 if(it == fReactant1 || it == fReactant2 )
117 {
118 fAddEquilibrium = true;
119 fEquilibriumTime = fGlobalTime;
120 if(fVerbose >1)
121 {
122 G4cout <<
"Reaction type : " << pReaction->GetReactionType() <<
" : "
123 << pReaction->GetReactant1()->GetName() << " + "
124 << pReaction->GetReactant2()->GetName() <<
G4endl;
125 G4cout <<
"SetEquilibrium : on " << fRectionType <<
" fEquilibriumTime : "
127 }
128 break;
129 }
130 }
131 }
132}