00001 #ifndef AliStHbtEventReader_hh
00002 #define AliStHbtEventReader_hh
00003
00004 #include "StHbtMaker/Base/StHbtEventReader.hh"
00005 #include "StHbtMaker/Infrastructure/StHbtEnumeration.hh"
00006
00007 #include "StMaker.h"
00008 #include "StChain.h"
00009 #include "St_DataSetIter.h"
00010
00011 #include "StEvent/StEnumerations.h"
00012 #include "StStrangeMuDstMaker/StStrangeMuDstMaker.h"
00013
00014
00015
00016 #include <string>
00017 #include <stdlib.h>
00018
00019
00020
00021 class StHbtEvent;
00022
00023 class StIOMaker;
00024 class TFile;
00025 class TTree;
00026 class TChain;
00027 class AliStHbtEvent;
00028 class AliStHbtTrack;
00029
00030 class AliStHbtEventReader : public StHbtEventReader {
00031
00032 private:
00033 StIOMaker* mIOMaker;
00034
00035 StHbtIOMode mIOMode;
00036 string mCurrentFileName;
00037 string mDir;
00038 string mFile;
00039 string mFilter;
00040
00041 int mMaxFiles;
00042
00043 int mDebug;
00044 TChain* mTChain;
00045 TFile* mCurrentFile;
00046 TTree* mTTree;
00047
00048 string mInputDir;
00049 AliStHbtEvent* mEvent;
00050 StHbtEvent* mHbtEvent;
00051
00052 unsigned int mEventIndex;
00053
00054 StHbtEvent* read();
00055 int initRead(string dir, string file, string filter, int mMaxFiles);
00056 int uninitRead();
00057
00058 int fillChain(TChain* chain, const char* dir, const char* filter, const int maxFiles);
00059 int fillChain(TChain* chain, const char* list, const int maxFiles);
00060
00061 protected:
00062
00063 public:
00064 AliStHbtEventReader(StHbtIOMode mode, StIOMaker* io,
00065 const char* dirName, const char* fileName,
00066 const char* filter=".", int maxFiles=999);
00067
00068 ~AliStHbtEventReader();
00069
00070 StHbtEvent* ReturnHbtEvent();
00071
00072 StHbtString Report();
00073
00074 void SetDebug(int);
00075
00076
00077 ClassDef(AliStHbtEventReader, 1)
00078 };
00079
00080 inline void AliStHbtEventReader::SetDebug(int debug) {mDebug=debug;}
00081
00082 #endif
00083