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 <constantinos.andreopoulos \at cern.ch>
9  University of Liverpool & STFC Rutherford Appleton Laboratory
10 
11 \created May 06, 2004
12 
13 \cpright Copyright (c) 2003-2020, 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 
45  //! Checks whether the interaction is above the energy threshold
46  bool IsAboveThreshold(void) const;
47 
48  //! Check whether the current kinematics is in the allowed phase space
49  bool IsAllowed (void) const;
50 
51  //! Return the kinematical variable limits
52  Range1D_t Limits (KineVar_t kvar) const;
53  double Minimum (KineVar_t kvar) const;
54  double Maximum (KineVar_t kvar) const;
55 
56  Range1D_t WLim (void) const; ///< W limits
57  Range1D_t Q2Lim_W (void) const; ///< Q2 limits @ fixed W
58  Range1D_t q2Lim_W (void) const; ///< q2 limits @ fixed W
59  Range1D_t Q2Lim (void) const; ///< Q2 limits
60  Range1D_t q2Lim (void) const; ///< q2 limits
61  Range1D_t XLim (void) const; ///< x limits
62  Range1D_t YLim (void) const; ///< y limits
63  Range1D_t YLim_X (void) const; ///< y limits @ fixed x
64  Range1D_t YLim (double xsi) const; ///< y limits (COH)
65  Range1D_t YLim_X (double xsi) const; ///< y limits @ fixed x (COH)
66  Range1D_t TLim (void) const; ///< t limits
67 
68  static double GetTMaxDFR();
69 
70 private:
71  void Init(void);
72 
74 
76 };
77 
78 } // genie namespace
79 #endif // _KINE_PHASE_SPACE_H_
Range1D_t YLim_X(void) const
y limits @ fixed x
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
A simple [min,max] interval for doubles.
Definition: Range1.h:42
double Threshold(void) const
Energy threshold.
Definition: KPhaseSpace.cxx:80
Range1D_t q2Lim(void) const
q2 limits
Range1D_t YLim(void) const
y limits
Range1D_t Q2Lim_W(void) const
Q2 limits @ fixed W.
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:57
Summary information for an interaction.
Definition: Interaction.h:56
const Interaction * fInteraction
Definition: KPhaseSpace.h:73
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:75
bool IsAllowed(void) const
Check whether the current kinematics is in the allowed phase space.
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.