Geant4 11.2.2
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

 ~G4DNAMolecularReactionTable () override
 
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 *=nullptr)
 
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 {false}
 
G4VDNAMolecularGeometryfGeometry {nullptr}
 
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.

383 :
385{
386}
std::unique_ptr< G4ReactionTableMessenger > fpMessenger

Referenced by GetReactionTable(), and Instance().

◆ ~G4DNAMolecularReactionTable()

G4DNAMolecularReactionTable::~G4DNAMolecularReactionTable ( )
overridedefault

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 nullptr;
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)
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout

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

◆ DeleteInstance()

void G4DNAMolecularReactionTable::DeleteInstance ( )
static

Definition at line 371 of file G4DNAMolecularReactionTable.cc.

372{
373
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 594 of file G4DNAMolecularReactionTable.cc.

595{
596 return fGeometry;
597}

◆ GetNReactions()

size_t G4DNAMolecularReactionTable::GetNReactions ( ) const

Definition at line 832 of file G4DNAMolecularReactionTable.cc.

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

◆ GetReaction()

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

Definition at line 820 of file G4DNAMolecularReactionTable.cc.

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

◆ 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 // Though the above is Fatal and will terminate program, put return in to quieten Coverity
753 return nullptr;
754 }
755
756 return &(it->second);
757}
const G4String & GetName() const

◆ GetReactionData() [2/3]

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

Definition at line 761 of file G4DNAMolecularReactionTable.cc.

763{
764 const auto pConf1 = G4MoleculeTable::GetMoleculeTable()->GetConfiguration(mol1);
765 const auto pConf2 = G4MoleculeTable::GetMoleculeTable()->GetConfiguration(mol2);
766 return GetReactionData(pConf1, pConf2);
767}
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 600 of file G4DNAMolecularReactionTable.cc.

602{
603 if (fReactionData.empty())
604 {
605 G4String errMsg = "No reaction table was implemented";
606 G4Exception("G4MolecularInteractionTable::GetReactionData", "",
607 FatalErrorInArgument, errMsg);
608 }
609
610 auto it1 = fReactionData.find(pReactant1);
611
612 if (it1 == fReactionData.end())
613 {
614 G4String errMsg =
615 "No reaction table was implemented for this molecule Definition : " + pReactant1
616 ->GetName();
617 G4Exception("G4MolecularInteractionTable::GetReactionData", "",
618 FatalErrorInArgument, errMsg);
619 // Though the above is Fatal and will terminate program, put return in to quieten Coverity
620 return nullptr;
621 }
622
623 auto 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(), G4DiffusionControlledReactionModel::GetReactionRadius(), G4DNASmoluchowskiReactionModel::GetReactionRadius(), G4DiffusionControlledReactionModel::GetTimeToEncounter(), G4DiffusionControlledReactionModel::Initialise(), G4DNASmoluchowskiReactionModel::Initialise(), G4DiffusionControlledReactionModel::InitialiseToPrint(), G4DNASmoluchowskiReactionModel::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 auto 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 auto 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}

Referenced by G4ChemEquilibrium::Initialize().

◆ Instance()

◆ PrintTable()

void G4DNAMolecularReactionTable::PrintTable ( G4VDNAReactionModel * pReactionModel = nullptr)

Definition at line 422 of file G4DNAMolecularReactionTable.cc.

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

◆ Reset()

void G4DNAMolecularReactionTable::Reset ( )

Definition at line 837 of file G4DNAMolecularReactionTable.cc.

838{
839 fReactionData.clear();
840 fReactantsMV.clear();
841 fReactionDataMV.clear();
842 fVectorOfReactionData.clear();
843}

Referenced by G4ReactionTableMessenger::SetNewValue().

◆ ScaleReactionRateForNewTemperature()

void G4DNAMolecularReactionTable::ScaleReactionRateForNewTemperature ( double temp_K)

Definition at line 799 of file G4DNAMolecularReactionTable.cc.

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

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 390 of file G4DNAMolecularReactionTable.cc.

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

◆ 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 412 of file G4DNAMolecularReactionTable.cc.

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

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

Member Data Documentation

◆ fGeometry

G4VDNAMolecularGeometry* G4DNAMolecularReactionTable::fGeometry {nullptr}
protected

Definition at line 246 of file G4DNAMolecularReactionTable.hh.

246{nullptr};

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 {false}
protected

Definition at line 244 of file G4DNAMolecularReactionTable.hh.

244{false};

Referenced by CanReactWith(), and GetReativesNData().


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