GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
QPMDMDISPXSec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::QPMDMDISPXSec
5 
6 \brief Computes DMDIS 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 Joshua Berger <jberger \at physics.wisc.edu
12  University of Wisconsin-Madison
13 
14  Costas Andreopoulos <c.andreopoulos \at cern.ch>
15  University of Liverpool
16 
17 \created September 4, 2017
18 
19 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
20  For the full text of the license visit http://copyright.genie-mc.org
21 
22 */
23 //____________________________________________________________________________
24 
25 #ifndef _DMDIS_PARTON_MODEL_PARTIAL_XSEC_H_
26 #define _DMDIS_PARTON_MODEL_PARTIAL_XSEC_H_
27 
30 
31 namespace genie {
32 
33 class DISStructureFuncModelI;
34 class HadronizationModelI;
35 class XSecIntegratorI;
36 
37 class QPMDMDISPXSec : public XSecAlgorithmI {
38 
39 public:
40  QPMDMDISPXSec();
41  QPMDMDISPXSec(string config);
42  virtual ~QPMDMDISPXSec();
43 
44  // XSecAlgorithmI interface implementation
45  double XSec (const Interaction * i, KinePhaseSpace_t k) const;
46  double Integral (const Interaction * i) const;
47  bool ValidProcess (const Interaction * i) const;
48 
49  // overload the Algorithm::Configure() methods to load private data
50  // members from configuration options
51  void Configure(const Registry & config);
52  void Configure(string config);
53 
54 private:
55  void LoadConfig (void);
56  double DMDISRESJoinSuppressionFactor (const Interaction * in) const;
57 
60 
61  const DISStructureFuncModelI * fDISSFModel; ///< SF model
62  const HadronizationModelI * fHadronizationModel; ///< hadronic multip. model
63  const XSecIntegratorI * fXSecIntegrator; ///< diff. xsec integrator
64 
66 
67  bool fUsingDisResJoin; ///< use a DMDIS/RES joining scheme?
68  bool fUseCache; ///< cache reduction factors used in joining scheme
69  double fWcut; ///< apply DMDIS/RES joining scheme < Wcut
70  double fCCScale; ///< cross section scaling factor for CC processes
71  double fNCScale; ///< cross section scaling factor for NC processes
72  double fEMScale; ///< cross section scaling factor for EM processes
73  double fSin48w; ///< sin^4(Weingberg angle)
74  int fVelMode; ///< velcoity dependence for xsec
75  double fMedMass; ///< Mediator mass
76  double fgzp; ///< Coupling to the mediator Zprime
77  double fQchiL; ///< Left-handed DM charge
78  double fQchiR; ///< Right-handed DM charge
79  double fQchiS; ///< Scalar DM charge
80 };
81 
82 } // genie namespace
83 #endif // _DMDIS_PARTON_MODEL_PARTIAL_XSEC_H_
Computes DMDIS differential cross sections. Is a concrete implementation of the XSecAlgorithmI interf...
Definition: QPMDMDISPXSec.h:37
Cross Section Calculation Interface.
Pure Abstract Base Class. Defines the DISStructureFuncModelI interface to be implemented by any algor...
const HadronizationModelI * fHadronizationModel
hadronic multip. model
Definition: QPMDMDISPXSec.h:62
double fgzp
Coupling to the mediator Zprime.
Definition: QPMDMDISPXSec.h:76
Cross Section Integrator Interface.
double fSin48w
sin^4(Weingberg angle)
Definition: QPMDMDISPXSec.h:73
int fVelMode
velcoity dependence for xsec
Definition: QPMDMDISPXSec.h:74
double Integral(const Interaction *i) const
enum genie::EKinePhaseSpace KinePhaseSpace_t
const XSecAlgorithmI * fCharmProdModel
Definition: QPMDMDISPXSec.h:65
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
double DMDISRESJoinSuppressionFactor(const Interaction *in) const
double fQchiS
Scalar DM charge.
Definition: QPMDMDISPXSec.h:79
Summary information for an interaction.
Definition: Interaction.h:56
double fQchiR
Right-handed DM charge.
Definition: QPMDMDISPXSec.h:78
const DISStructureFuncModelI * fDISSFModel
SF model.
Definition: QPMDMDISPXSec.h:61
double fMedMass
Mediator mass.
Definition: QPMDMDISPXSec.h:75
DISStructureFunc fDISSF
Definition: QPMDMDISPXSec.h:58
bool fUseCache
cache reduction factors used in joining scheme
Definition: QPMDMDISPXSec.h:68
double fQchiL
Left-handed DM charge.
Definition: QPMDMDISPXSec.h:77
const XSecIntegratorI * fXSecIntegrator
diff. xsec integrator
Definition: QPMDMDISPXSec.h:63
A class holding Deep Inelastic Scattering (DIS) Form Factors (invariant structure funstions) ...
void Configure(const Registry &config)
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
double fWcut
apply DMDIS/RES joining scheme &lt; Wcut
Definition: QPMDMDISPXSec.h:69
bool fUsingDisResJoin
use a DMDIS/RES joining scheme?
Definition: QPMDMDISPXSec.h:67
double fEMScale
cross section scaling factor for EM processes
Definition: QPMDMDISPXSec.h:72
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
double fCCScale
cross section scaling factor for CC processes
Definition: QPMDMDISPXSec.h:70
double fNCScale
cross section scaling factor for NC processes
Definition: QPMDMDISPXSec.h:71