Revert "Revert git "Femto ESE code updates (Alice Ohlson)""
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / Chaoticity / AliFourPionEventCollection.h
1 #ifndef ALIFOURPIONEVENTCOLLECTION
2 #define ALIFOURPIONEVENTCOLLECTION
3
4 #include <iostream>
5 #include <string>
6 #include "TH1.h"
7 #include "TH2.h"
8 #include "TH3.h"
9 #include "TBits.h"
10 #include "TObject.h"
11 #include "TVector2.h"
12 #include "AliESDtrack.h"
13
14 using namespace std;
15
16
17 class AliFourPionTrackStruct{// detector tracks
18   
19  public:
20   AliFourPionTrackStruct();
21   virtual ~AliFourPionTrackStruct();
22   AliFourPionTrackStruct(const AliFourPionTrackStruct &obj); 
23   AliFourPionTrackStruct &operator=(const AliFourPionTrackStruct &obj);
24
25
26   UInt_t fStatus;
27   UInt_t fFiltermap;
28   Int_t fId;
29   Double_t fPhi;
30   Float_t fPt;
31   Float_t fMom;
32   Double_t fP[3];
33   Int_t fCharge;
34   Float_t fEta;
35   Float_t fMass;
36   Float_t fDCAXY;
37   Float_t fDCAZ;
38   Float_t fDCA;
39   Float_t fEaccepted;
40   Short_t fKey;
41   TBits fClusterMap;
42   TBits fSharedMap;
43   Double_t fX[3];
44   Bool_t fTOFhit;
45   Bool_t fElectron;
46   Bool_t fMuon;
47   Bool_t fPion;
48   Bool_t fKaon;
49   Bool_t fProton;
50   Int_t fLabel;// MC
51
52   ClassDef(AliFourPionTrackStruct, 1);
53 };
54
55 class AliFourPionMCStruct{// MC info
56
57  public:
58   AliFourPionMCStruct();
59   virtual ~AliFourPionMCStruct();
60   AliFourPionMCStruct(const AliFourPionMCStruct &obj); 
61   AliFourPionMCStruct &operator=(const AliFourPionMCStruct &obj);
62
63   Float_t fPx;
64   Float_t fPy;
65   Float_t fPz;
66   Float_t fPtot;
67   Int_t fPdgCode;
68   Int_t fMotherLabel;
69
70   ClassDef(AliFourPionMCStruct, 1);
71 };
72
73 class AliFourPionEventStruct{// like particle_event
74   
75  public:
76   AliFourPionEventStruct();
77   virtual ~AliFourPionEventStruct();
78   AliFourPionEventStruct(const AliFourPionEventStruct &obj); 
79   AliFourPionEventStruct &operator=(const AliFourPionEventStruct &obj);
80
81
82   Int_t fFillStatus;
83   Int_t fNtracks;
84   Int_t fMCarraySize;
85   AliFourPionTrackStruct *fTracks;
86   AliFourPionMCStruct *fMCtracks;
87
88   ClassDef(AliFourPionEventStruct, 1);
89 };
90
91
92
93 class AliFourPionEventCollection {
94   
95   public:
96     AliFourPionEventCollection();
97     AliFourPionEventCollection(Short_t,Int_t,Int_t,Bool_t);
98     virtual ~AliFourPionEventCollection();
99     AliFourPionEventCollection(const AliFourPionEventCollection &obj); 
100     AliFourPionEventCollection &operator=(const AliFourPionEventCollection &obj);
101    
102     void FIFOShift();
103     void SetBuffSize(Short_t a){fFIFO = a;}
104  
105     Short_t fFIFO; //Size of the Event Storage buffer.
106     Int_t fLimit; //Max number of tracks
107     Int_t fMCLimit; //Max number of MC tracks
108     AliFourPionEventStruct *fEvtStr;
109
110    ClassDef(AliFourPionEventCollection, 1);
111 };
112 #endif