Port of changes from v4-07-Release and additional rule conformance
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemtoUser / AliFemtoEventReaderESDKine.h
1 ////////////////////////////////////////////////////////////////////////////////
2 //                                                                            //
3 // AliFemtoEventReaderESDKine - 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 // Reads in Kine information and stores it in the hidden info                 //
7 // Authors: Marek Chojnacki mchojnacki@knf.pw.edu.pl                          //
8 //          Adam Kisiel kisiel@mps.ohio-state.edu                             //
9 //                                                                            //
10 ////////////////////////////////////////////////////////////////////////////////
11
12 /*
13  *$Id$
14  *$Log$
15  *Revision 1.1  2007/05/25 12:42:54  akisiel
16  *Adding a reader for the Kine information
17  *
18  *Revision 1.1  2007/05/16 10:22:11  akisiel
19  *Making the directory structure of AliFemto flat. All files go into one common directory
20  *
21  *Revision 1.4  2007/05/03 09:45:20  akisiel
22  *Fixing Effective C++ warnings
23  *
24  *Revision 1.3  2007/04/27 07:25:16  akisiel
25  *Make revisions needed for compilation from the main AliRoot tree
26  *
27  *Revision 1.1.1.1  2007/04/25 15:38:41  panos
28  *Importing the HBT code dir
29  *
30  */
31   
32
33 #ifndef ALIFEMTOEVENTREADERESDKINE_H
34 #define ALIFEMTOEVENTREADERESDKINE_H
35 #include "AliFemtoEventReader.h"
36 #include "AliFemtoEnumeration.h"
37
38 #include <string>
39 #include <vector>
40 #include "TChain.h"
41 #include "AliESDEvent.h"
42 #include <list>
43 #include "AliRunLoader.h"
44 #include "AliFemtoModelHiddenInfo.h"
45
46 class AliFemtoEvent;
47
48 class AliFemtoEventReaderESDKine : public AliFemtoEventReader 
49 {
50  public:
51   AliFemtoEventReaderESDKine();
52   AliFemtoEventReaderESDKine(const AliFemtoEventReaderESDKine &aReader);
53   ~AliFemtoEventReaderESDKine();
54
55   AliFemtoEventReaderESDKine& operator=(const AliFemtoEventReaderESDKine& aReader);
56
57   AliFemtoEvent* ReturnHbtEvent();
58   AliFemtoString Report() const;
59   //void SetFileName(const char* fileName);
60   void SetInputFile(const char* inputFile);
61   void SetConstrained(const bool constrained);
62   bool GetConstrained() const;
63
64  protected:
65
66  private:
67   TString        fInputFile;        // name of input file with ESD filenames
68   TString        fFileName;         // name of current ESD file
69   bool           fConstrained;      // flag to set which momentum from ESD file will be use
70   int            fNumberofEvent;    // number of Events in ESD file
71   int            fCurEvent;         // number of current event
72   int            fCurRLEvent;       // Current simulated event
73   TChain*        fTree;             // ESD tree
74   AliESDEvent*   fEvent;            // ESD event
75   AliRunLoader*  fRunLoader;        // Run loader for kine reading 
76                 
77 #ifdef __ROOT__
78   ClassDef(AliFemtoEventReaderESDKine, 1)
79 #endif
80
81     };
82   
83 #endif
84
85