GENIEGenerator
Loading...
Searching...
No Matches
Kinematics.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::Kinematics
5
6\brief Generated/set kinematical variables for an event
7
8\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
9 University of Liverpool
10
11\created May 08, 2004
12
13\cpright Copyright (c) 2003-2025, The GENIE Collaboration
14 For the full text of the license visit http://copyright.genie-mc.org
15*/
16//____________________________________________________________________________
17
18#ifndef _KINEMATICS_H_
19#define _KINEMATICS_H_
20
21#include <map>
22#include <iostream>
23
24#include <TObject.h>
25
27
28using std::map;
29using std::ostream;
30
31class TRootIOCtor;
32class TLorentzVector;
33
34namespace genie {
35
36class Kinematics;
37ostream & operator << (ostream & stream, const Kinematics & kine);
38
39class Kinematics : public TObject {
40
41public:
42 using TObject::Print; // suppress clang 'hides overloaded virtual function [-Woverloaded-virtual]' warnings
43 using TObject::Copy;
44
45 Kinematics();
46 Kinematics(const Kinematics & kv);
47 Kinematics(TRootIOCtor*);
49
50 double x (bool selected=false) const;
51 double y (bool selected=false) const;
52 double Q2 (bool selected=false) const;
53 double q2 (bool selected=false) const;
54 double W (bool selected=false) const;
55 double t (bool selected=false) const;
56 double Logx (bool selected=false) const;
57 double Logy (bool selected=false) const;
58 double LogQ2 (bool selected=false) const;
59 double LogW (bool selected=false) const;
60 double Log10x (bool selected=false) const;
61 double Log10y (bool selected=false) const;
62 double Log10Q2 (bool selected=false) const;
63 double Log10W (bool selected=false) const;
64
65 const TLorentzVector & FSLeptonP4(void) const { return *fP4Fsl; }
66 const TLorentzVector & HadSystP4 (void) const { return *fP4HadSyst; }
67
68 void Setx (double x, bool selected=false);
69 void Sety (double y, bool selected=false);
70 void SetQ2 (double Q2, bool selected=false);
71 void Setq2 (double q2, bool selected=false);
72 void SetW (double W, bool selected=false);
73 void Sett (double t, bool selected=false);
74
75 void SetFSLeptonP4 (const TLorentzVector & p4);
76 void SetFSLeptonP4 (double px, double py, double pz, double E);
77 void SetHadSystP4 (const TLorentzVector & p4);
78 void SetHadSystP4 (double px, double py, double pz, double E);
79
80 bool KVSet(KineVar_t kv) const;
81 double GetKV(KineVar_t kv) const;
82 void SetKV(KineVar_t kv, double value);
83
84 void ClearRunningValues (void);
85 void UseSelectedKinematics (void);
86
87 //-- Copy, reset, compare and print itself
88 void Reset (void);
89 void Copy (const Kinematics & kine);
90 void Print (ostream & stream) const;
91
92 Kinematics & operator = (const Kinematics & kine);
93 friend ostream & operator << (ostream & stream, const Kinematics & kine);
94
95private:
96
97 void Init (void); ///< initialize
98 void CleanUp (void); ///< clean-up
99
100 //-- Private data members
101
102 map<KineVar_t, double> fKV; ///< selected kinematics
103 TLorentzVector * fP4Fsl; ///< generated final state primary lepton 4-p (LAB)
104 TLorentzVector * fP4HadSyst; ///< generated final state hadronic system 4-p (LAB)
105
106ClassDef(Kinematics,2)
107};
108
109} // genie namespace
110
111#endif // _KINEMATICS_H_
Generated/set kinematical variables for an event.
Definition Kinematics.h:39
void SetHadSystP4(const TLorentzVector &p4)
map< KineVar_t, double > fKV
selected kinematics
Definition Kinematics.h:102
double Logy(bool selected=false) const
void Setx(double x, bool selected=false)
double LogW(bool selected=false) const
void SetQ2(double Q2, bool selected=false)
bool KVSet(KineVar_t kv) const
TLorentzVector * fP4Fsl
generated final state primary lepton 4-p (LAB)
Definition Kinematics.h:103
double Q2(bool selected=false) const
double t(bool selected=false) const
void Sett(double t, bool selected=false)
void Copy(const Kinematics &kine)
double y(bool selected=false) const
const TLorentzVector & HadSystP4(void) const
Definition Kinematics.h:66
double Log10y(bool selected=false) const
double GetKV(KineVar_t kv) const
double Log10x(bool selected=false) const
double Log10W(bool selected=false) const
double Logx(bool selected=false) const
double W(bool selected=false) const
const TLorentzVector & FSLeptonP4(void) const
Definition Kinematics.h:65
double LogQ2(bool selected=false) const
TLorentzVector * fP4HadSyst
generated final state hadronic system 4-p (LAB)
Definition Kinematics.h:104
double q2(bool selected=false) const
void Setq2(double q2, bool selected=false)
void Init(void)
initialize
double Log10Q2(bool selected=false) const
void ClearRunningValues(void)
void Print(ostream &stream) const
friend ostream & operator<<(ostream &stream, const Kinematics &kine)
void SetKV(KineVar_t kv, double value)
void Sety(double y, bool selected=false)
void SetW(double W, bool selected=false)
void SetFSLeptonP4(const TLorentzVector &p4)
Kinematics & operator=(const Kinematics &kine)
void CleanUp(void)
clean-up
void UseSelectedKinematics(void)
double x(bool selected=false) const
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::EKineVar KineVar_t
ostream & operator<<(ostream &stream, const AlgConfigPool &config_pool)