48 #ifndef G4MolecularReactionTable_h
49 #define G4MolecularReactionTable_h 1
87 inline std::pair<G4MolecularConfiguration*, G4MolecularConfiguration*>
149 inline const std::vector<G4MolecularConfiguration*>*
GetProducts()
const
171 double rateCste_init);
241 const std::vector<G4MolecularConfiguration*>*
244 const std::map<G4MolecularConfiguration*, const G4DNAMolecularReactionData*>*
247 const std::vector<const G4DNAMolecularReactionData*>*
251 std::map<G4MolecularConfiguration*,
258 inline const std::vector<const G4DNAMolecularReactionData*>&
273 typedef std::map<G4MolecularConfiguration*,
274 std::map<G4MolecularConfiguration*,
276 typedef std::map<G4MolecularConfiguration*,
278 typedef std::map<G4MolecularConfiguration*,
void SetReactionID(int ID)
The pointer G4MolecularConfiguration will be shared by all the molecules having the same molecule def...
void SetEffectiveReactionRadius(G4double radius)
G4VDNAReactionModel is an interface used by the G4DNAMolecularReaction process.
static void DeleteInstance()
virtual ~G4DNAMolecularReactionTable()
const G4DNAMolecularReactionData * GetReaction(int reactionID) const
Free interface to define reaction information.
G4double GetEffectiveReactionRadius() const
std::map< G4MolecularConfiguration *, std::map< G4MolecularConfiguration *, const G4DNAMolecularReactionData * > > ReactionDataMap
static G4DNAMolecularReactionTable * Instance()
const G4DNAMolecularReactionData * GetReactionData(G4MolecularConfiguration *, G4MolecularConfiguration *) const
const std::map< G4MolecularConfiguration *, std::map< G4MolecularConfiguration *, const G4DNAMolecularReactionData * > > & GetAllReactionData()
const std::vector< G4MolecularConfiguration * > * GetProducts() const
static double PolynomialParam(double temp_K, std::vector< double > P)
void ScaleReactionRateForNewTemperature(double temp_K)
G4ReactionTableMessenger * fpMessenger
G4DNAMolecularReactionTable sorts out the G4DNAMolecularReactionData for bimolecular reaction...
void ScaleForNewTemperature(double temp_K)
ReactionDataMV fReactionDataMV
void SetReactant1(G4MolecularConfiguration *reactive)
~G4DNAMolecularReactionData()
G4double GetObservedReactionRateConstant() const
size_t GetNReactions() const
static G4DNAMolecularReactionTable * GetReactionTable()
const std::map< G4MolecularConfiguration *, const G4DNAMolecularReactionData * > * GetReativesNData(G4MolecularConfiguration *) const
void SetReaction(G4double observedReactionRate, G4MolecularConfiguration *reactive1, G4MolecularConfiguration *reactive2)
Define a reaction : First argument : reaction rate Second argument : reactant 1 Third argument : reac...
void SetArrehniusParameterization(double A0, double E_R)
void PrintTable(G4VDNAReactionModel *=0)
std::pair< G4MolecularConfiguration *, G4MolecularConfiguration * > GetReactants()
G4MolecularConfiguration * fReactant1
std::function< double(double)> RateParam
void AddProduct(G4MolecularConfiguration *molecule)
static double ArrehniusParam(double temp_K, std::vector< double > P)
static G4DNAMolecularReactionTable * fInstance
static double ScaledParameterization(double temp_K, double temp_init, double rateCste_init)
G4int GetNbProducts() const
G4DNAMolecularReactionData contains the information relative to a given reaction (eg : °OH + °OH -> H...
G4DNAMolecularReactionData()
void SetObservedReactionRateConstant(G4double rate)
void SetReactants(G4MolecularConfiguration *reactive1, G4MolecularConfiguration *reactive2)
std::vector< G4MolecularConfiguration * > * fProducts
void SetReactant2(G4MolecularConfiguration *reactive)
G4DNAMolecularReactionTable()
G4MolecularConfiguration * GetReactant1() const
std::map< G4MolecularConfiguration *, std::vector< G4MolecularConfiguration * > > ReactivesMV
void SetPolynomialParameterization(const std::vector< double > &P)
void SetScaledParameterization(double temperature_K, double rateCste)
G4MolecularConfiguration * GetReactant2() const
G4MolecularConfiguration * fReactant2
G4double fObservedReactionRate
ReactionDataMap fReactionData
std::map< G4MolecularConfiguration *, std::vector< const G4DNAMolecularReactionData * > > ReactionDataMV
std::vector< const G4DNAMolecularReactionData * > fVectorOfReactionData
int GetReactionID() const
const std::vector< G4MolecularConfiguration * > * CanReactWith(G4MolecularConfiguration *) const
Given a molecule's type, it returns with which a reaction is allowed.
G4MolecularConfiguration * GetProduct(G4int i) const
const std::vector< const G4DNAMolecularReactionData * > & GetVectorOfReactionData()
G4double fEffectiveReactionRadius