GENIEGenerator
Loading...
Searching...
No Matches
XSecLinearCombinations.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::XSecLinearCombinations
5
6\brief Computes the xsec as a linear combination of different XSecSlgorithmI
7 See GENIE docdb 252
8
9\author Code contributed by J.Tena Vidal and M.Roda
10
11\created Mar 12, 2020
12
13\cpright Copyright (c) 2003-2025, The GENIE Collaboration
14 For the full text of the license visit http://copyright.genie-mc.org
15*/
16//____________________________________________________________________________
17
18#ifndef _XSEC_LINEAR_COMBINATIONS_H_
19#define _XSEC_LINEAR_COMBINATIONS_H_
20
22
23namespace genie {
24
25class XSecIntegratorI;
26
28
29public:
31 XSecLinearCombinations(string config);
33
34 // XSecAlgorithmI interface implementation
35 double XSec (const Interaction * i, KinePhaseSpace_t k) const;
36 double Integral (const Interaction * i) const;
37 bool ValidProcess (const Interaction * i) const;
38
39 // override the Algorithm::Configure methods to load configuration
40 // data to private data members
41 void Configure (const Registry & config);
42 void Configure (string config);
43
44 protected:
45
46 // Load algorithm configuration
47 void LoadConfig (void);
48
49 private:
50
51 std::vector<const XSecAlgorithmI*> fXSections ;
52 std::vector<double> fLinearCoefficients ;
53
54};
55
56} // genie namespace
57#endif // _XSEC_LINEAR_COMBINATIONS_H_
Summary information for an interaction.
Definition Interaction.h:56
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
Cross Section Integrator Interface.
std::vector< const XSecAlgorithmI * > fXSections
std::vector< double > fLinearCoefficients
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
void Configure(const Registry &config)
double Integral(const Interaction *i) const
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::EKinePhaseSpace KinePhaseSpace_t