InteractionData.h
Go to the documentation of this file.
1 #ifndef INTERACTIONDATA_H
2 #define INTERACTIONDATA_H
3 
4 #include <TParticlePDG.h>
5 #include <TDatabasePDG.h>
6 
7 #include <string>
8 #include <cmath>
9 #include <iostream>
10 
11 namespace NeutrinoFluxReweight{
12 
13  /*! \class InteractionData
14  * \brief The information about a hadronic interaction needed to calculate weights.
15 
16  Information about the kinematics of the interaction, the identity of the projectile and target, the producted particles, etc. This looks like KinProd to me.
17 
18  */
20 
21  public:
22 
23  //!Default Constructor
25 
26  //! Constructor given kinematic of the interaction.
27  InteractionData(int genid, double incMom[], int incPdg, double prodMom[], int prodPdg, std::string volname, std::string procname, double vtx[]);
28 
29  virtual ~InteractionData();
30 
31  //! generation index
32  int gen;
33 
34  //! pdg code of the incident particle
35  int Inc_pdg;
36 
37  //! pdg code of the produced particle
38  int Prod_pdg;
39 
40  //! Momentum magnitude of the incident particle
41  double Inc_P;
42 
43  //! Momentum 4 vector of the incident particle, E=p[3]
44  double Inc_P4[4];
45 
46  //! Momentum magnitude of the produced particle
47  double Prod_P;
48 
49  //! Momentum 4 vector of the produced particle, E=p[3]
50  double Prod_P4[4];
51 
52  //! Location of the interaction
53  double Vtx[3];
54 
55  //! Mass of the incident particle
56  double Inc_Mass;
57 
58  //! Mass of the produced particle
59  double Prod_Mass;
60 
61  //! Feynmann-x of the produced particle: \f$ x_{F} = 2P_{L}/\sqrt(s) \f$
62  double xF;
63 
64  //! Longitudinal momentum (GeV/c) of the produced particle
65  double Pz;
66 
67  //! Angle (rad) of the produced particle
68  double Theta;
69 
70  //! Transversal momentum (GeV/c) of the produced particle
71  double Pt;
72 
73  //! Center of mass energy of the collision indident particle - nuclear proton.
74  double Ecm;
75 
76  //! \f$ \beta_{CM} \f$
77  double Betacm;
78 
79  //! \f$ \gamma_{CM} \f$
80  double Gammacm;
81 
82  //! Interaction volume
84 
85  //! Interaction process
87 
88  std::ostream& print(std::ostream& os) const;
89 
90  private:
91  TDatabasePDG* particle;
92 
93  };
94 
95 
96 }
97 #endif
double Ecm
Center of mass energy of the collision indident particle - nuclear proton.
std::string string
Definition: nybbler.cc:12
int Prod_pdg
pdg code of the produced particle
double Pt
Transversal momentum (GeV/c) of the produced particle.
double Vtx[3]
Location of the interaction.
The information about a hadronic interaction needed to calculate weights.
double Pz
Longitudinal momentum (GeV/c) of the produced particle.
std::ostream & print(std::ostream &os) const
double Inc_P4[4]
Momentum 4 vector of the incident particle, E=p[3].
double Prod_P
Momentum magnitude of the produced particle.
double xF
Feynmann-x of the produced particle: .
double Prod_P4[4]
Momentum 4 vector of the produced particle, E=p[3].
std::string Proc
Interaction process.
double Inc_P
Momentum magnitude of the incident particle.
std::string Vol
Interaction volume.
double Theta
Angle (rad) of the produced particle.
double Inc_Mass
Mass of the incident particle.
InteractionData()
Default Constructor.
int Inc_pdg
pdg code of the incident particle
double Prod_Mass
Mass of the produced particle.