GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HEDISPXSec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::HEDISPXSec
5 
6 \brief Computes the double differential Cross Section for HEDIS. \n
7  Is a concrete implementation of the XSecAlgorithmI interface.
8 
9 \author Alfonso Garcia <alfonsog \at nikhef.nl>
10  NIKHEF
11 
12 \created August 28, 2019
13 
14 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
15  For the full text of the license visit http://copyright.genie-mc.org
16  or see $GENIE/LICENSE
17 */
18 //____________________________________________________________________________
19 
20 #ifndef _HEDIS_PXSEC_H_
21 #define _HEDIS_PXSEC_H_
22 
25 
26 namespace genie {
27 
28  class XSecIntegratorI;
29 
30  class HEDISPXSec : public XSecAlgorithmI {
31 
32  public:
33  HEDISPXSec();
34  HEDISPXSec(string config);
35  virtual ~HEDISPXSec();
36 
37  // XSecAlgorithmI interface implementation
38  double XSec (const Interaction * i, KinePhaseSpace_t k) const;
39  double Integral (const Interaction * i) const;
40  bool ValidProcess (const Interaction * i) const;
41 
42  // overload the Algorithm::Configure() methods to load private data
43  // members from configuration options
44  void Configure(const Registry & config);
45  void Configure(string config);
46 
47  private:
48  void LoadConfig (void);
49  double ds_dxdy (SF_xQ2 sf, double x, double y) const;
50  double ds_dxdy_mass (SF_xQ2 sf, double x, double y, double e, double mt, double ml2) const;
51 
52  const XSecIntegratorI * fXSecIntegrator; ///< diff. xsec integrator
53 
54  double fWmin; ///< Minimum value of W
55  bool fMassTerms; ///< Account for second order effects in DDxsec
56  SF_info fSFinfo; ///< Information used to computed SF
57  };
58 
59 } // genie namespace
60 
61 #endif // _HEDIS_PXSEC_H_
Cross Section Calculation Interface.
virtual ~HEDISPXSec()
Definition: HEDISPXSec.cxx:41
double ds_dxdy(SF_xQ2 sf, double x, double y) const
Definition: HEDISPXSec.cxx:117
double Integral(const Interaction *i) const
Definition: HEDISPXSec.cxx:151
void Configure(const Registry &config)
Definition: HEDISPXSec.cxx:178
Cross Section Integrator Interface.
const XSecIntegratorI * fXSecIntegrator
diff. xsec integrator
Definition: HEDISPXSec.h:52
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
Definition: HEDISPXSec.cxx:46
enum genie::EKinePhaseSpace KinePhaseSpace_t
Summary information for an interaction.
Definition: Interaction.h:56
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
Definition: HEDISPXSec.cxx:158
void LoadConfig(void)
Definition: HEDISPXSec.cxx:190
const double e
double fWmin
Minimum value of W.
Definition: HEDISPXSec.h:54
double ds_dxdy_mass(SF_xQ2 sf, double x, double y, double e, double mt, double ml2) const
Definition: HEDISPXSec.cxx:132
Computes the double differential Cross Section for HEDIS. Is a concrete implementation of the XSecA...
Definition: HEDISPXSec.h:30
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
SF_info fSFinfo
Information used to computed SF.
Definition: HEDISPXSec.h:56
bool fMassTerms
Account for second order effects in DDxsec.
Definition: HEDISPXSec.h:55