GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
QPMDISPXSec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::QPMDISPXSec
5 
6 \brief Computes DIS differential cross sections.
7  Is a concrete implementation of the XSecAlgorithmI interface.
8 
9 \ref E.A.Paschos and J.Y.Yu, Phys.Rev.D 65.03300
10 
11 \author Costas Andreopoulos <c.andreopoulos \at cern.ch>
12  University of Liverpool
13 
14 \created May 05, 2004
15 
16 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
17  For the full text of the license visit http://copyright.genie-mc.org
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _DIS_PARTON_MODEL_PARTIAL_XSEC_H_
22 #define _DIS_PARTON_MODEL_PARTIAL_XSEC_H_
23 
26 
27 namespace genie {
28 
29 class DISStructureFuncModelI;
30 class HadronizationModelI;
31 class XSecIntegratorI;
32 
33 class QPMDISPXSec : public XSecAlgorithmI {
34 
35 public:
36  QPMDISPXSec();
37  QPMDISPXSec(string config);
38  virtual ~QPMDISPXSec();
39 
40  // XSecAlgorithmI interface implementation
41  double XSec (const Interaction * i, KinePhaseSpace_t k) const;
42  double Integral (const Interaction * i) const;
43  bool ValidProcess (const Interaction * i) const;
44 
45  // overload the Algorithm::Configure() methods to load private data
46  // members from configuration options
47  void Configure(const Registry & config);
48  void Configure(string config);
49 
50 private:
51  void LoadConfig (void);
52 
55 
56  const DISStructureFuncModelI * fDISSFModel; ///< SF model
57  const XSecIntegratorI * fXSecIntegrator; ///< diff. xsec integrator
58 
60 
61  double fCCScale; ///< cross section scaling factor
62  double fNCScale; ///< cross section scaling factor
63  double fEMScale; ///< cross section scaling factor
64  double fSin48w; ///< sin^4(Weingberg angle)
65 };
66 
67 } // genie namespace
68 #endif // _DIS_PARTON_MODEL_PARTIAL_XSEC_H_
Cross Section Calculation Interface.
Pure Abstract Base Class. Defines the DISStructureFuncModelI interface to be implemented by any algor...
Cross Section Integrator Interface.
const DISStructureFuncModelI * fDISSFModel
SF model.
Definition: QPMDISPXSec.h:56
double fNCScale
cross section scaling factor
Definition: QPMDISPXSec.h:62
enum genie::EKinePhaseSpace KinePhaseSpace_t
Computes DIS differential cross sections. Is a concrete implementation of the XSecAlgorithmI interfac...
Definition: QPMDISPXSec.h:33
double fSin48w
sin^4(Weingberg angle)
Definition: QPMDISPXSec.h:64
Summary information for an interaction.
Definition: Interaction.h:56
double fCCScale
cross section scaling factor
Definition: QPMDISPXSec.h:61
const XSecIntegratorI * fXSecIntegrator
diff. xsec integrator
Definition: QPMDISPXSec.h:57
void Configure(const Registry &config)
void LoadConfig(void)
DISStructureFunc fDISSF
Definition: QPMDISPXSec.h:53
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
const XSecAlgorithmI * fCharmProdModel
Definition: QPMDISPXSec.h:59
A class holding Deep Inelastic Scattering (DIS) Form Factors (invariant structure funstions) ...
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
Definition: QPMDISPXSec.cxx:61
virtual ~QPMDISPXSec()
Definition: QPMDISPXSec.cxx:56
double Integral(const Interaction *i) const
double fEMScale
cross section scaling factor
Definition: QPMDISPXSec.h:63