Fixing Effective C++ warnings
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / Reader / AliFemtoEventReaderESD.h
1 ////////////////////////////////////////////////////////////////////////////////
2 ///                                                                          ///
3 /// AliFemtoEventReaderESD - the reader class for the Alice ESD              ///
4 /// Reads in ESD information and converts it into internal AliFemtoEvent     ///
5 /// Reads in AliESDfriend to create shared hit/quality information           ///
6 /// Authors: Marek Chojnacki mchojnacki@knf.pw.edu.pl                        ///
7 ///          Adam Kisiel kisiel@mps.ohio-state.edu                           ///
8 ///                                                                          ///
9 ////////////////////////////////////////////////////////////////////////////////
10
11 /*
12  *$Id$
13  *$Log$
14  *Revision 1.3  2007/04/27 07:25:16  akisiel
15  *Make revisions needed for compilation from the main AliRoot tree
16  *
17  *Revision 1.1.1.1  2007/04/25 15:38:41  panos
18  *Importing the HBT code dir
19  *
20  */
21   
22
23 #ifndef AliFemtoEventReaderESD_hh
24 #define AliFemtoEventReaderESD_hh
25 #include "Base/AliFemtoEventReader.h"
26 #include "Infrastructure/AliFemtoEnumeration.h"
27
28 #include <string>
29 #include <vector>
30 #include "TTree.h"
31 #include "AliESD.h"
32 #include "AliESDfriend.h"
33 #include <list>
34
35 class AliFemtoEvent;
36
37 class AliFemtoEventReaderESD : public AliFemtoEventReader 
38 {
39  public:
40   AliFemtoEventReaderESD();
41   AliFemtoEventReaderESD(const AliFemtoEventReaderESD &aReader);
42   ~AliFemtoEventReaderESD();
43
44   AliFemtoEventReaderESD& operator=(const AliFemtoEventReaderESD& aReader);
45
46   AliFemtoEvent* ReturnHbtEvent();
47   AliFemtoString Report();
48   //void SetFileName(const char* fileName);
49   void SetInputFile(const char* inputFile);
50   void SetConstrained(const bool constrained);
51   bool GetConstrained() const;
52
53  protected:
54
55  private:
56   bool           GetNextFile();     // setting next file to read 
57
58   string         fInputFile;        // name of input file with ESD filenames
59   string         fFileName;         // name of current ESD file
60   bool           fConstrained;      // flag to set which momentum from ESD file will be use
61   int            fNumberofEvent;    // number of Events in ESD file
62   int            fCurEvent;         // number of current event
63   unsigned int   fCurFile;          // number of current file
64   vector<string> fListOfFiles;      // list of ESD files                
65   TTree*         fTree;             // ESD tree
66   AliESD*        fEvent;            // ESD event
67   TFile*         fEsdFile;          // ESD file 
68   AliESDfriend*  fEventFriend;      // ESD friend informaion
69
70   list<Int_t>  **fSharedList;       //! Table (one list per padrow) of clusters which are shared
71   list<Int_t>  **fClusterPerPadrow; //! Table (one list per padrow) of clusters in each padrow
72                 
73 #ifdef __ROOT__
74   ClassDef(AliFemtoEventReaderESD, 10)
75 #endif
76
77     };
78   
79 #endif
80
81