Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mc_tree/Event.h
Go to the documentation of this file.
1 /*
2  * Event.h
3  *
4  * Created on: Aug 1, 2012
5  * Author: yqiang
6  */
7 
8 #ifndef EVENT_H_
9 #define EVENT_H_
10 
11 #include <TObject.h>
12 #include <TVector3.h>
13 #include <TLorentzVector.h>
14 #include <TClonesArray.h>
15 
16 #include "Particle.h"
17 #include "RichHit.h"
18 #include "CereHit.h"
19 #include "RichTruthHit.h"
20 
21 // Maximum number of particles of a given type
22 #define MAX_PART 10
23 #define MAX_CERE_HIT 100
24 #define MAX_RICH_HIT 5000
25 #define MAX_RICHTRUTH_HIT 100
26 
27 class Event: public TObject {
28 
29 public:
30 
31  Event();
32  ~Event();
33  void Clear();
34 
35  int event;
36  UInt_t Npip;
37  UInt_t Npim;
38  UInt_t NKp;
39  UInt_t NKm;
40  UInt_t Nproton;
41  UInt_t Nphoton;
42  UInt_t Nneutron;
43  UInt_t Nelectron;
44  UInt_t Npositron;
45  UInt_t Nrichhit;
46  UInt_t Ncerehit;
47  UInt_t Nrichtruthhit;
48 
49  TClonesArray *pip;
50  TClonesArray *pim;
51  TClonesArray *Kp;
52  TClonesArray *Km;
53  TClonesArray *proton;
54  TClonesArray *photon;
55  TClonesArray *neutron;
56  TClonesArray *electron;
57  TClonesArray *positron;
58  TClonesArray *richhit;
59  TClonesArray *cerehit;
60  TClonesArray *richtruthhit;
61 
62  TLorentzVector target; // Initial state target momentum
63  TLorentzVector beam; // Initial state target beam photon momentum
64  TVector3 vertex; // Vertex position
65  TLorentzVector W;// Final state 4-momentum of everything *except* the proton(s)
66 
67  bool all_fiducial; // True if the following four are true
68 
69 private:
70  ClassDef(Event,1)
71  ;
72 
73 };
74 
75 #endif /* EVENT_H_ */
UInt_t Nelectron
Definition: mc_tree/Event.h:43
TClonesArray * Kp
Definition: mc_tree/Event.h:51
TClonesArray * pip
Definition: mc_tree/Event.h:49
UInt_t Npip
Definition: mc_tree/Event.h:36
TClonesArray * photon
Definition: mc_tree/Event.h:54
TClonesArray * cerehit
Definition: mc_tree/Event.h:59
UInt_t Npositron
Definition: mc_tree/Event.h:44
void Clear(void)
UInt_t Nphoton
Definition: mc_tree/Event.h:41
UInt_t Npim
Definition: mc_tree/Event.h:37
UInt_t Nneutron
Definition: mc_tree/Event.h:42
TClonesArray * neutron
Definition: mc_tree/Event.h:55
UInt_t NKm
Definition: mc_tree/Event.h:39
UInt_t NKp
Definition: mc_tree/Event.h:38
ClassDef(Event, 1)
UInt_t Ncerehit
Definition: mc_tree/Event.h:46
TClonesArray * proton
Definition: mc_tree/Event.h:53
TLorentzVector W
Definition: mc_tree/Event.h:65
TLorentzVector target
Definition: mc_tree/Event.h:62
UInt_t Nrichhit
Definition: mc_tree/Event.h:45
UInt_t Nproton
Definition: mc_tree/Event.h:40
UInt_t Nrichtruthhit
Definition: mc_tree/Event.h:47
bool all_fiducial
Definition: mc_tree/Event.h:67
TClonesArray * richtruthhit
Definition: mc_tree/Event.h:60
TClonesArray * pim
Definition: mc_tree/Event.h:50
TClonesArray * positron
Definition: mc_tree/Event.h:57
TClonesArray * richhit
Definition: mc_tree/Event.h:58
TClonesArray * Km
Definition: mc_tree/Event.h:52
int event
Definition: mc_tree/Event.h:35
TLorentzVector beam
TClonesArray * electron
Definition: mc_tree/Event.h:56
TVector3 vertex