00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef StMuIOMaker_hh
00010 #define StMuIOMaker_hh
00011
00012 #include <string>
00013
00014 #ifndef ST_NO_NAMESPACES
00015 using namespace std;
00016 #endif
00017
00018 #include "StMuDstMaker.h"
00019
00020 class StMuDst;
00021
00023
00024 class StMuEmcUtil;
00025 class StMuPmdUtil;
00026 class StMuTofUtil;
00027
00028 class TFile;
00029 class TChain;
00030 class TClonesArray;
00031
00043 class StMuIOMaker : public StMuDstMaker {
00044 public:
00046 StMuIOMaker(const char* name="",const char *ioFile="");
00047 ~StMuIOMaker();
00048
00049 int Init();
00050 int Make();
00051 int Make(int index);
00052 int Make(int major, int minor);
00053 int Make(const StUKey &RunEvent);
00054 int Skip(int nskip) { return Make(mCurrentIndex+nskip); }
00055 int Finish();
00056
00057
00058 virtual Int_t Open(const Char_t *ioFile=0);
00059 virtual void Close(Option_t *opt=0);
00060 virtual Int_t MakeRead(const StUKey &RunEvent);
00061 virtual Int_t MakeRead(){StUKey uk; return MakeRead(uk);};
00062
00063
00064 int currentIndex() { return mCurrentIndex; }
00065 int eventCounter() { return mEventCounter; }
00066 int numberOfEvents() { return mNumberOfEvents; }
00067
00068
00069 virtual const char *GetCVS() const {
00070 static const char cvs[]="Tag $Name: $ $Id: StMuIOMaker.h,v 1.10 2004/07/02 01:51:09 perev Exp $ built "__DATE__" "__TIME__ ;
00071 return cvs;
00072 }
00073
00074 protected:
00075
00076 TTree* mOutTree;
00077
00078 string mOutFileName;
00079 TFile* mOutFile;
00080
00081 int mNumberOfEvents;
00082 int mCurrentIndex;
00083 bool mMuSave;
00084 bool mBadInFile;
00085 bool mCloseWrite;
00086
00087 int openRead();
00088 void openMuWrite();
00089 void closeMuWrite();
00090
00091
00092
00093 ClassDef(StMuIOMaker, 0)
00094 };
00095
00096 #endif
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127