Initial check-in of the model classes
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / Reader / AliFemtoEventReaderESDChain.h
1 ////////////////////////////////////////////////////////////////////////////////
2 ///                                                                          ///
3 /// AliFemtoEventReaderESDChain - the reader class for the Alice ESD         ///
4 /// tailored for the Analysis/Task framework                                 ///
5 /// Reads in AliESDfriend to create shared hit/quality information           ///
6 /// Authors: Adam Kisiel kisiel@mps.ohio-state.edu                           ///
7 ///                                                                          ///
8 ////////////////////////////////////////////////////////////////////////////////
9 #ifndef AliFemtoEventReaderESDChain_hh
10 #define AliFemtoEventReaderESDChain_hh
11 #include "Base/AliFemtoEventReader.h"
12 #include "Infrastructure/AliFemtoEnumeration.h"
13
14 #include <string>
15 #include <vector>
16 #include "TTree.h"
17 #include "AliESD.h"
18 #include "AliESDfriend.h"
19 #include <list>
20
21 class AliFemtoEvent;
22
23 class AliFemtoEventReaderESDChain : public AliFemtoEventReader 
24 {
25  public:
26   AliFemtoEventReaderESDChain();
27   AliFemtoEventReaderESDChain(const AliFemtoEventReaderESDChain& aReader);
28   ~AliFemtoEventReaderESDChain();
29
30   AliFemtoEventReaderESDChain& operator=(const AliFemtoEventReaderESDChain& aReader);
31
32   AliFemtoEvent* ReturnHbtEvent();
33   AliFemtoString Report();
34   void SetConstrained(const bool constrained);
35   bool GetConstrained() const;
36
37   void SetESDSource(AliESD *);
38   void SetESDfriendSource(AliESDfriend *);
39
40  protected:
41
42  private:
43   string         fFileName;      //name of current ESD file
44   bool           fConstrained;   //flag to set which momentum from ESD file will be use
45   int            fNumberofEvent; //number of Events in ESD file
46   int            fCurEvent;      //number of current event
47   unsigned int   fCurFile;       //number of current file
48   AliESD*        fEvent;         //ESD event
49   AliESDfriend*  fEventFriend;
50
51   list<Int_t>  **fSharedList;       //! Table (one list per padrow) of clusters which are shared
52   list<Int_t>  **fClusterPerPadrow; //! Table (one list per padrow) of clusters in each padrow
53                 
54 #ifdef __ROOT__
55   ClassDef(AliFemtoEventReaderESDChain, 1)
56 #endif
57
58     };
59   
60 #endif
61
62