GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
KPhaseSpace.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::KPhaseSpace
5 
6 \brief Kinematical phase space
7 
8 \author Costas Andreopoulos <c.andreopoulos \at cern.ch>
9  University of Liverpool
10 
11 \created May 06, 2004
12 
13 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
14  For the full text of the license visit http://copyright.genie-mc.org
15 */
16 //____________________________________________________________________________
17 
18 #ifndef _KINEMATIC_PHASE_SPACE_H_
19 #define _KINEMATIC_PHASE_SPACE_H_
20 
21 #include <cassert>
22 
23 #include <TObject.h>
24 
26 //#include "Interaction/KPhaseSpaceCut.h"
27 #include "Framework/Utils/Range1.h"
28 
29 namespace genie {
30 
31 class Interaction;
32 
33 class KPhaseSpace : public TObject {
34 
35 public:
36  KPhaseSpace (void);
37  KPhaseSpace (const Interaction * in);
38  ~KPhaseSpace (void);
39 
40  void UseInteraction(const Interaction * in);
41 
42  //! Energy threshold
43  double Threshold(void) const;
44  double Threshold_SPP_iso(void) const; ///< Energy limit for resonance single pion production on isoscalar nucleon
45 
46  //! Checks whether the interaction is above the energy threshold
47  bool IsAboveThreshold(void) const;
48 
49  //! Check whether the current kinematics is in the allowed phase space
50  bool IsAllowed (void) const;
51 
52  //! Return the kinematical variable limits
53  Range1D_t Limits (KineVar_t kvar) const;
54  double Minimum (KineVar_t kvar) const;
55  double Maximum (KineVar_t kvar) const;
56 
57  Range1D_t WLim (void) const; ///< W limits
58  Range1D_t Q2Lim_W (void) const; ///< Q2 limits @ fixed W
59  Range1D_t q2Lim_W (void) const; ///< q2 limits @ fixed W
60  Range1D_t Q2Lim (void) const; ///< Q2 limits
61  Range1D_t q2Lim (void) const; ///< q2 limits
62  Range1D_t XLim (void) const; ///< x limits
63  Range1D_t YLim (void) const; ///< y limits
64  Range1D_t YLim_X (void) const; ///< y limits @ fixed x
65  Range1D_t YLim (double xsi) const; ///< y limits (COH)
66  Range1D_t YLim_X (double xsi) const; ///< y limits @ fixed x (COH)
67  Range1D_t TLim (void) const; ///< t limits
68  Range1D_t WLim_SPP(void) const; ///< W limits for single pion production models
69  Range1D_t WLim_SPP_iso (void) const; ///< W limits for resonance single pion production on isoscalar nucleon
70  Range1D_t Q2Lim_W_SPP (void) const; ///< Q2 limits @ fixed W for single pion production models
71  Range1D_t Q2Lim_W_SPP_iso (void) const; ///< Q2 limits @ fixed W for resonance single pion production on isoscalar nucleon
72 
73  static double GetTMaxDFR();
74 
75 private:
76  void Init(void);
77 
79 
80 ClassDef(KPhaseSpace,2)
81 };
82 
83 } // genie namespace
84 #endif // _KINE_PHASE_SPACE_H_
Range1D_t YLim_X(void) const
y limits @ fixed x
Range1D_t Q2Lim_W_SPP(void) const
Q2 limits @ fixed W for single pion production models.
A simple [min,max] interval for doubles.
Definition: Range1.h:42
double Threshold(void) const
Energy threshold.
Definition: KPhaseSpace.cxx:82
Range1D_t q2Lim(void) const
q2 limits
Range1D_t YLim(void) const
y limits
Range1D_t Q2Lim_W(void) const
Q2 limits @ fixed W.
double Threshold_SPP_iso(void) const
Energy limit for resonance single pion production on isoscalar nucleon.
Range1D_t Q2Lim(void) const
Q2 limits.
Range1D_t Limits(KineVar_t kvar) const
Return the kinematical variable limits.
static double GetTMaxDFR()
Definition: KPhaseSpace.cxx:59
Summary information for an interaction.
Definition: Interaction.h:56
Range1D_t Q2Lim_W_SPP_iso(void) const
Q2 limits @ fixed W for resonance single pion production on isoscalar nucleon.
const Interaction * fInteraction
Definition: KPhaseSpace.h:78
Range1D_t WLim_SPP(void) const
W limits for single pion production models.
Kinematical phase space.
Definition: KPhaseSpace.h:33
double Minimum(KineVar_t kvar) const
enum genie::EKineVar KineVar_t
double Maximum(KineVar_t kvar) const
void UseInteraction(const Interaction *in)
Definition: KPhaseSpace.cxx:77
bool IsAllowed(void) const
Check whether the current kinematics is in the allowed phase space.
Range1D_t WLim_SPP_iso(void) const
W limits for resonance single pion production on isoscalar nucleon.
bool IsAboveThreshold(void) const
Checks whether the interaction is above the energy threshold.
Range1D_t XLim(void) const
x limits
Range1D_t TLim(void) const
t limits
Range1D_t q2Lim_W(void) const
q2 limits @ fixed W
Range1D_t WLim(void) const
W limits.