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

#include <G4DNAMolecularReactionTable.hh>

+ Inheritance diagram for G4DNAMolecularReactionTable:

Public Types

using Reactant = const G4MolecularConfiguration
 
using Data = const G4DNAMolecularReactionData
 
using ReactantList = std::vector< Reactant * >
 
using DataList = std::vector< Data * >
 
using SpecificDataList = std::map< Reactant *, Data * >
 
using ReactionDataMap = std::map< Reactant *, SpecificDataList >
 
using ReactivesMV = std::map< Reactant *, ReactantList >
 
using ReactionDataMV = std::map< Reactant *, DataList >
 

Public Member Functions

virtual ~G4DNAMolecularReactionTable ()
 
void SetReaction (G4double observedReactionRate, Reactant *reactive1, Reactant *reactive2)
 
void SetReaction (G4DNAMolecularReactionData *)
 
void SetGeometry (G4VDNAMolecularGeometry *geometry)
 
G4VDNAMolecularGeometryGetGeometry () const
 
DataGetReactionData (Reactant *, Reactant *) const
 
DataGetReactionData (const G4String &, const G4String &) const
 
DataGetReaction (int reactionID) const
 
size_t GetNReactions () const
 
const ReactantListCanReactWith (Reactant *) const
 
const SpecificDataListGetReativesNData (const G4MolecularConfiguration *) const
 
const DataListGetReactionData (const G4MolecularConfiguration *) const
 
const ReactionDataMapGetAllReactionData ()
 
DataList GetVectorOfReactionData ()
 
void ScaleReactionRateForNewTemperature (double temp_K)
 
void PrintTable (G4VDNAReactionModel *=0)
 
void Reset ()
 
- Public Member Functions inherited from G4ITReactionTable
 G4ITReactionTable ()
 
virtual ~G4ITReactionTable ()
 
 G4ITReactionTable (const G4ITReactionTable &)
 
G4ITReactionTableoperator= (const G4ITReactionTable &)
 

Static Public Member Functions

static G4DNAMolecularReactionTableGetReactionTable ()
 
static G4DNAMolecularReactionTableInstance ()
 
static void DeleteInstance ()
 

Protected Member Functions

 G4DNAMolecularReactionTable ()
 

Protected Attributes

G4bool fVerbose
 
G4VDNAMolecularGeometryfGeometry
 
ReactionDataMap fReactionData
 
ReactivesMV fReactantsMV
 
ReactionDataMV fReactionDataMV
 
std::vector< std::unique_ptr< Data > > fVectorOfReactionData
 
std::unique_ptr< G4ReactionTableMessengerfpMessenger
 

Static Protected Attributes

static G4DNAMolecularReactionTablefpInstance
 

Detailed Description

G4DNAMolecularReactionTable sorts out the G4DNAMolecularReactionData for bimolecular reaction

Definition at line 174 of file G4DNAMolecularReactionTable.hh.

Member Typedef Documentation

◆ Data

◆ DataList

Definition at line 189 of file G4DNAMolecularReactionTable.hh.

◆ Reactant

◆ ReactantList

Definition at line 188 of file G4DNAMolecularReactionTable.hh.

◆ ReactionDataMap

◆ ReactionDataMV

◆ ReactivesMV

◆ SpecificDataList

Constructor & Destructor Documentation

◆ G4DNAMolecularReactionTable()

G4DNAMolecularReactionTable::G4DNAMolecularReactionTable ( )
protected

Definition at line 382 of file G4DNAMolecularReactionTable.cc.

Referenced by GetReactionTable(), and Instance().

◆ ~G4DNAMolecularReactionTable()

G4DNAMolecularReactionTable::~G4DNAMolecularReactionTable ( )
virtualdefault

Member Function Documentation

◆ CanReactWith()

const G4DNAMolecularReactionTable::ReactantList * G4DNAMolecularReactionTable::CanReactWith ( Reactant pMolecule) const

Given a molecule's type, it returns with which a reaction is allowed

Definition at line 656 of file G4DNAMolecularReactionTable.cc.

657{
658 if (fReactantsMV.empty())
659 {
660 G4String errMsg = "No reaction table was implemented";
661 G4Exception("G4MolecularInteractionTable::CanReactWith", "",
662 FatalErrorInArgument, errMsg);
663 return 0;
664 }
665
666 auto itReactivesMap = fReactantsMV.find(pMolecule);
667
668 if (itReactivesMap == fReactantsMV.end())
669 {
670#ifdef G4VERBOSE
671 if (fVerbose)
672 {
673 G4String errMsg = "No reaction table was implemented for this molecule : "
674 + pMolecule->GetName();
675 // G4Exception("G4MolecularInteractionTable::CanReactWith","",FatalErrorInArgument, errMsg);
676 G4cout << "--- G4MolecularInteractionTable::GetReactionData ---" << G4endl;
677 G4cout << errMsg << G4endl;
678 }
679#endif
680 return nullptr;
681 }
682
683 if (fVerbose)
684 {
685 G4cout << " G4MolecularInteractionTable::CanReactWith :" << G4endl;
686 G4cout << "You are checking reactants for : " << pMolecule->GetName() << G4endl;
687 G4cout << " the number of reactants is : " << itReactivesMap->second.size() << G4endl;
688
689 auto itProductsVector = itReactivesMap->second.cbegin();
690
691 for (; itProductsVector != itReactivesMap->second.end(); itProductsVector++)
692 {
693 G4cout << (*itProductsVector)->GetName() << G4endl;
694 }
695 }
696 return &(itReactivesMap->second);
697}
@ FatalErrorInArgument
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:59
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout

Referenced by G4DNAIRTMoleculeEncounterStepper::CalculateStep(), G4DNAMoleculeEncounterStepper::CalculateStep(), G4DNAIndependentReactionTimeStepper::CalculateStep(), PrintTable(), and G4DNAIRT::Sampling().

◆ DeleteInstance()

void G4DNAMolecularReactionTable::DeleteInstance ( )
static

Definition at line 371 of file G4DNAMolecularReactionTable.cc.

372{
373 if (fpInstance)
374 {
375 delete fpInstance;
376 }
377 fpInstance = nullptr;
378}
static G4DNAMolecularReactionTable * fpInstance

Referenced by G4DNAChemistryManager::Clear().

◆ GetAllReactionData()

const G4DNAMolecularReactionTable::ReactionDataMap & G4DNAMolecularReactionTable::GetAllReactionData ( )

Definition at line 636 of file G4DNAMolecularReactionTable.cc.

637{
638 return fReactionData;
639}

◆ GetGeometry()

G4VDNAMolecularGeometry * G4DNAMolecularReactionTable::GetGeometry ( ) const

Definition at line 596 of file G4DNAMolecularReactionTable.cc.

597{
598 return fGeometry;
599}

◆ GetNReactions()

size_t G4DNAMolecularReactionTable::GetNReactions ( ) const

Definition at line 830 of file G4DNAMolecularReactionTable.cc.

831{
832 return fVectorOfReactionData.size();
833}
std::vector< std::unique_ptr< Data > > fVectorOfReactionData

◆ GetReaction()

G4DNAMolecularReactionTable::Data * G4DNAMolecularReactionTable::GetReaction ( int  reactionID) const

Definition at line 818 of file G4DNAMolecularReactionTable.cc.

819{
820 for (auto& pData : fVectorOfReactionData)
821 {
822 if (pData->GetReactionID() == reactionID)
823 {
824 return pData.get();
825 }
826 }
827 return nullptr;
828}

◆ GetReactionData() [1/3]

const G4DNAMolecularReactionTable::DataList * G4DNAMolecularReactionTable::GetReactionData ( const G4MolecularConfiguration molecule) const

Definition at line 737 of file G4DNAMolecularReactionTable.cc.

738{
739 if (fReactionDataMV.empty())
740 {
741 G4String errMsg = "No reaction table was implemented";
742 G4Exception("G4MolecularInteractionTable::CanInteractWith", "",
743 FatalErrorInArgument, errMsg);
744 }
745 auto it = fReactionDataMV.find(molecule);
746
747 if (it == fReactionDataMV.end())
748 {
749 G4String errMsg = "No reaction table was implemented for this molecule Definition : "
750 + molecule->GetName();
751 G4Exception("G4MolecularInteractionTable::GetReactionData", "", FatalErrorInArgument, errMsg);
752 }
753
754 return &(it->second);
755}
const G4String & GetName() const

◆ GetReactionData() [2/3]

G4DNAMolecularReactionTable::Data * G4DNAMolecularReactionTable::GetReactionData ( const G4String mol1,
const G4String mol2 
) const

Definition at line 759 of file G4DNAMolecularReactionTable.cc.

761{
762 const auto pConf1 = G4MoleculeTable::GetMoleculeTable()->GetConfiguration(mol1);
763 const auto pConf2 = G4MoleculeTable::GetMoleculeTable()->GetConfiguration(mol2);
764 return GetReactionData(pConf1, pConf2);
765}
Data * GetReactionData(Reactant *, Reactant *) const
static G4MoleculeTable * GetMoleculeTable()
G4MolecularConfiguration * GetConfiguration(const G4String &, bool mustExist=true)

◆ GetReactionData() [3/3]

G4DNAMolecularReactionTable::Data * G4DNAMolecularReactionTable::GetReactionData ( Reactant pReactant1,
Reactant pReactant2 
) const

Definition at line 602 of file G4DNAMolecularReactionTable.cc.

604{
605 if (fReactionData.empty())
606 {
607 G4String errMsg = "No reaction table was implemented";
608 G4Exception("G4MolecularInteractionTable::GetReactionData", "",
609 FatalErrorInArgument, errMsg);
610 }
611
612 auto it1 = fReactionData.find(pReactant1);
613
614 if (it1 == fReactionData.end())
615 {
616 G4String errMsg =
617 "No reaction table was implemented for this molecule Definition : " + pReactant1
618 ->GetName();
619 G4Exception("G4MolecularInteractionTable::GetReactionData", "",
620 FatalErrorInArgument, errMsg);
621 }
622
623 ReactionDataMap::mapped_type::const_iterator it2 = it1->second.find(pReactant2);
624
625 if (it2 == it1->second.end())
626 {
627 G4cout << "Name : " << pReactant2->GetName() << G4endl;
628 G4String errMsg = "No reaction table was implemented for this molecule : "
629 + pReactant2->GetName();
630 G4Exception("G4MolecularInteractionTable::GetReactionData", "", FatalErrorInArgument, errMsg);
631 }
632
633 return (it2->second);
634}

Referenced by G4DNAIndependentReactionTimeStepper::CalculateStep(), G4DNAIRT::GetIndependentReactionTime(), GetReactionData(), G4DNASmoluchowskiReactionModel::GetReactionRadius(), G4DiffusionControlledReactionModel::GetReactionRadius(), G4DiffusionControlledReactionModel::GetTimeToEncounter(), G4DNASmoluchowskiReactionModel::Initialise(), G4DiffusionControlledReactionModel::Initialise(), G4DNASmoluchowskiReactionModel::InitialiseToPrint(), G4DiffusionControlledReactionModel::InitialiseToPrint(), G4DNAIRT::MakeReaction(), G4DNAMakeReaction::MakeReaction(), G4DNAMolecularReaction::MakeReaction(), and G4DNAIRT::Sampling().

◆ GetReactionTable()

◆ GetReativesNData()

const G4DNAMolecularReactionTable::SpecificDataList * G4DNAMolecularReactionTable::GetReativesNData ( const G4MolecularConfiguration molecule) const

Definition at line 702 of file G4DNAMolecularReactionTable.cc.

703{
704 if (fReactionData.empty())
705 {
706 G4String errMsg = "No reaction table was implemented";
707 G4Exception("G4MolecularInteractionTable::CanInteractWith", "",
708 FatalErrorInArgument, errMsg);
709 }
710
711 ReactionDataMap::const_iterator itReactivesMap = fReactionData.find(molecule);
712
713 if (itReactivesMap == fReactionData.end())
714 {
715 return nullptr;
716 }
717
718 if (fVerbose)
719 {
720 G4cout << " G4MolecularInteractionTable::CanReactWith :" << G4endl;
721 G4cout << "You are checking reactants for : " << molecule->GetName() << G4endl;
722 G4cout << " the number of reactants is : " << itReactivesMap->second.size() << G4endl;
723
724 SpecificDataList::const_iterator itProductsVector = itReactivesMap->second.begin();
725
726 for (; itProductsVector != itReactivesMap->second.end(); itProductsVector++)
727 {
728 G4cout << itProductsVector->first->GetName() << G4endl;
729 }
730 }
731 return &(itReactivesMap->second);
732}

◆ GetVectorOfReactionData()

G4DNAMolecularReactionTable::DataList G4DNAMolecularReactionTable::GetVectorOfReactionData ( )

Definition at line 641 of file G4DNAMolecularReactionTable.cc.

642{
643 DataList dataList;
644
645 for (const auto& pData : fVectorOfReactionData)
646 {
647 dataList.emplace_back(pData.get());
648 }
649
650 return dataList;
651}

◆ Instance()

◆ PrintTable()

void G4DNAMolecularReactionTable::PrintTable ( G4VDNAReactionModel pReactionModel = 0)

Definition at line 424 of file G4DNAMolecularReactionTable.cc.

425{
426 // Print Reactions and Interaction radius for jump step = 3ps
427
428 G4IosFlagsSaver iosfs(G4cout);
429
430 if (pReactionModel && !(pReactionModel->GetReactionTable()))
431 {
432 pReactionModel->SetReactionTable(this);
433 }
434
435 ReactivesMV::iterator itReactives;
436
437 std::map<Reactant*, std::map<Reactant*, G4bool>> alreadyPrint;
438
439 G4cout << "Number of chemical species involved in reactions = "
440 << fReactantsMV.size() << G4endl;
441
442 std::size_t nbPrintable = fReactantsMV.size() * fReactantsMV.size();
443
444 G4String* outputReaction = new G4String[nbPrintable];
445 G4String* outputReactionRate = new G4String[nbPrintable];
446 G4String* outputRange = new G4String[nbPrintable];
447 G4int n = 0;
448
449 for (itReactives = fReactantsMV.begin(); itReactives != fReactantsMV.end();
450 ++itReactives)
451 {
452 Reactant* moleculeA = (Reactant*)itReactives->first;
453 const vector<Reactant*>* reactivesVector = CanReactWith(moleculeA);
454
455 if (pReactionModel) pReactionModel->InitialiseToPrint(moleculeA);
456
457 G4int nbReactants = (G4int)fReactantsMV[itReactives->first].size();
458
459 for (G4int iReact = 0; iReact < nbReactants; iReact++)
460 {
461 auto moleculeB = (Reactant*)(*reactivesVector)[iReact];
462
463 Data* reactionData = fReactionData[moleculeA][moleculeB];
464
465 //-----------------------------------------------------------
466 // Name of the reaction
467 if (!alreadyPrint[moleculeA][moleculeB])
468 {
469 outputReaction[n] = moleculeA->GetName() + " + " + moleculeB->GetName();
470
471 G4int nbProducts = reactionData->GetNbProducts();
472
473 if (nbProducts)
474 {
475 outputReaction[n] += " -> " + reactionData->GetProduct(0)->GetName();
476
477 for (G4int j = 1; j < nbProducts; j++)
478 {
479 outputReaction[n] += " + " + reactionData->GetProduct(j)->GetName();
480 }
481 }
482 else
483 {
484 outputReaction[n] += " -> No product";
485 }
486
487 //-----------------------------------------------------------
488 // Interaction Rate
489 outputReactionRate[n] = G4UIcommand::ConvertToString(
490 reactionData->GetObservedReactionRateConstant() / (1e-3 * m3 / (mole * s)));
491
492 //-----------------------------------------------------------
493 // Calculation of the Interaction Range
494 G4double interactionRange = -1;
495 if (pReactionModel) interactionRange =
496 pReactionModel->GetReactionRadius(iReact);
497
498 if (interactionRange != -1)
499 {
500 outputRange[n] = G4UIcommand::ConvertToString(
501 interactionRange / nanometer);
502 }
503 else
504 {
505 outputRange[n] = "";
506 }
507
508 alreadyPrint[moleculeB][moleculeA] = TRUE;
509 n++;
510 }
511 }
512 }
513 // G4cout<<"Number of possible reactions: "<< n << G4endl;
514
515 ////////////////////////////////////////////////////////////////////
516 // Tableau dynamique en fonction du nombre de caractere maximal dans
517 // chaque colonne
518 ////////////////////////////////////////////////////////////////////
519
520 G4int maxlengthOutputReaction = -1;
521 G4int maxlengthOutputReactionRate = -1;
522
523 for (G4int i = 0; i < n; ++i)
524 {
525 if (maxlengthOutputReaction < (G4int)outputReaction[i].length())
526 {
527 maxlengthOutputReaction = (G4int)outputReaction[i].length();
528 }
529 if (maxlengthOutputReactionRate < (G4int)outputReactionRate[i].length())
530 {
531 maxlengthOutputReactionRate = (G4int)outputReactionRate[i].length();
532 }
533 }
534
535 maxlengthOutputReaction += 2;
536 maxlengthOutputReactionRate += 2;
537
538 if (maxlengthOutputReaction < 10) maxlengthOutputReaction = 10;
539 if (maxlengthOutputReactionRate < 30) maxlengthOutputReactionRate = 30;
540
541 G4String* title;
542
543 if (pReactionModel) title = new G4String[3];
544 else title = new G4String[2];
545
546 title[0] = "Reaction";
547 title[1] = "Reaction Rate [dm3/(mol*s)]";
548
549 if (pReactionModel) title[2] =
550 "Interaction Range for chosen reaction model [nm]";
551
552 G4cout << setfill(' ') << setw(maxlengthOutputReaction) << left << title[0]
553 << setw(maxlengthOutputReactionRate) << left << title[1];
554
555 if (pReactionModel) G4cout << setw(2) << left << title[2];
556
557 G4cout << G4endl;
558
559 G4cout.fill('-');
560 if (pReactionModel) G4cout.width(
561 maxlengthOutputReaction + 2 + maxlengthOutputReactionRate + 2
562 + (G4int)title[2].length());
563 else G4cout.width(maxlengthOutputReaction + 2 + maxlengthOutputReactionRate);
564 G4cout << "-" << G4endl;
565 G4cout.fill(' ');
566
567 for (G4int i = 0; i < n; i++)
568 {
569 G4cout << setw(maxlengthOutputReaction) << left << outputReaction[i]
570 << setw(maxlengthOutputReactionRate) << left
571 << outputReactionRate[i];
572
573 if (pReactionModel) G4cout << setw(2) << left << outputRange[i];
574
575 G4cout << G4endl;
576
577 G4cout.fill('-');
578 if (pReactionModel) G4cout.width(
579 maxlengthOutputReaction + 2 + maxlengthOutputReactionRate + 2
580 + (G4int)title[2].length());
581 else G4cout.width(
582 maxlengthOutputReaction + 2 + maxlengthOutputReactionRate);
583 G4cout << "-" << G4endl;
584 G4cout.fill(' ');
585 }
586
587 delete[] title;
588 delete[] outputReaction;
589 delete[] outputReactionRate;
590 delete[] outputRange;
591}
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
const G4MolecularConfiguration Reactant
const ReactantList * CanReactWith(Reactant *) const
const G4DNAMolecularReactionData Data
static G4String ConvertToString(G4bool boolVal)
Definition: G4UIcommand.cc:446
virtual void InitialiseToPrint(const G4MolecularConfiguration *)=0
const G4DNAMolecularReactionTable * GetReactionTable()
void SetReactionTable(const G4DNAMolecularReactionTable *)
virtual G4double GetReactionRadius(const G4MolecularConfiguration *, const G4MolecularConfiguration *)=0
#define TRUE
Definition: globals.hh:41

Referenced by G4EmDNAChemistry_option2::ConstructTimeStepModel(), G4EmDNAChemistry::ConstructTimeStepModel(), G4EmDNAChemistry_option1::ConstructTimeStepModel(), and G4ReactionTableMessenger::SetNewValue().

◆ Reset()

void G4DNAMolecularReactionTable::Reset ( )

Definition at line 835 of file G4DNAMolecularReactionTable.cc.

836{
837 fReactionData.clear();
838 fReactantsMV.clear();
839 fReactionDataMV.clear();
840 fVectorOfReactionData.clear();
841}

Referenced by G4ReactionTableMessenger::SetNewValue().

◆ ScaleReactionRateForNewTemperature()

void G4DNAMolecularReactionTable::ScaleReactionRateForNewTemperature ( double  temp_K)

Definition at line 797 of file G4DNAMolecularReactionTable.cc.

798{
799 for (const auto& pData : fVectorOfReactionData)
800 {
801 const_cast<G4DNAMolecularReactionData*>(pData.get())->ScaleForNewTemperature(temp_K);
802 }
803}

Referenced by G4DNAChemistryManager::SetGlobalTemperature().

◆ SetGeometry()

void G4DNAMolecularReactionTable::SetGeometry ( G4VDNAMolecularGeometry geometry)
inline

Definition at line 211 of file G4DNAMolecularReactionTable.hh.

211{fGeometry = geometry;};

◆ SetReaction() [1/2]

void G4DNAMolecularReactionTable::SetReaction ( G4DNAMolecularReactionData pReactionData)

Definition at line 392 of file G4DNAMolecularReactionTable.cc.

393{
394 const auto pReactant1 = pReactionData->GetReactant1();
395 const auto pReactant2 = pReactionData->GetReactant2();
396
397 fReactionData[pReactant1][pReactant2] = pReactionData;
398 fReactantsMV[pReactant1].push_back(pReactant2);
399 fReactionDataMV[pReactant1].push_back(pReactionData);
400
401 if (pReactant1 != pReactant2)
402 {
403 fReactionData[pReactant2][pReactant1] = pReactionData;
404 fReactantsMV[pReactant2].push_back(pReactant1);
405 fReactionDataMV[pReactant2].push_back(pReactionData);
406 }
407
408 fVectorOfReactionData.emplace_back(pReactionData);
409 pReactionData->SetReactionID((G4int)fVectorOfReactionData.size());
410}

◆ SetReaction() [2/2]

void G4DNAMolecularReactionTable::SetReaction ( G4double  observedReactionRate,
Reactant reactive1,
Reactant reactive2 
)

Define a reaction : First argument : reaction rate Second argument : reactant 1 Third argument : reactant 2 Fourth argument : a std::vector holding the molecular products if this last argument is NULL then it will be interpreted as a reaction giving no products

Definition at line 414 of file G4DNAMolecularReactionTable.cc.

417{
418 auto reactionData = new G4DNAMolecularReactionData(reactionRate, pReactant1, pReactant2);
419 SetReaction(reactionData);
420}
void SetReaction(G4double observedReactionRate, Reactant *reactive1, Reactant *reactive2)

Referenced by G4EmDNAChemistry_option2::ConstructReactionTable(), G4EmDNAChemistry::ConstructReactionTable(), G4EmDNAChemistry_option1::ConstructReactionTable(), G4EmDNAChemistry_option3::ConstructReactionTable(), G4ReactionTableMessenger::SetNewValue(), and SetReaction().

Member Data Documentation

◆ fGeometry

G4VDNAMolecularGeometry* G4DNAMolecularReactionTable::fGeometry
protected

Definition at line 246 of file G4DNAMolecularReactionTable.hh.

Referenced by GetGeometry(), and SetGeometry().

◆ fpInstance

G4DNAMolecularReactionTable * G4DNAMolecularReactionTable::fpInstance
staticprotected

Definition at line 178 of file G4DNAMolecularReactionTable.hh.

Referenced by DeleteInstance(), GetReactionTable(), and Instance().

◆ fpMessenger

std::unique_ptr<G4ReactionTableMessenger> G4DNAMolecularReactionTable::fpMessenger
protected

Definition at line 251 of file G4DNAMolecularReactionTable.hh.

◆ fReactantsMV

ReactivesMV G4DNAMolecularReactionTable::fReactantsMV
protected

Definition at line 248 of file G4DNAMolecularReactionTable.hh.

Referenced by CanReactWith(), PrintTable(), Reset(), and SetReaction().

◆ fReactionData

ReactionDataMap G4DNAMolecularReactionTable::fReactionData
protected

◆ fReactionDataMV

ReactionDataMV G4DNAMolecularReactionTable::fReactionDataMV
protected

Definition at line 249 of file G4DNAMolecularReactionTable.hh.

Referenced by GetReactionData(), Reset(), and SetReaction().

◆ fVectorOfReactionData

std::vector<std::unique_ptr<Data> > G4DNAMolecularReactionTable::fVectorOfReactionData
protected

◆ fVerbose

G4bool G4DNAMolecularReactionTable::fVerbose
protected

Definition at line 244 of file G4DNAMolecularReactionTable.hh.

Referenced by CanReactWith(), and GetReativesNData().


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