00001 #ifndef STAR_StIOInterFace
00002 #define STAR_StIOInterFace
00003
00005
00006
00007
00009
00010 #ifndef STAR_StRTSBaseMaker_H
00011 #include "StRTSBaseMaker.h"
00012 #endif
00013 #include "StTree.h"
00014 class StUKey;
00015
00016 class StIOInterFace : public StRTSBaseMaker {
00017 private:
00018 TString fFileName;
00019 public:
00020 StIOInterFace(const char *name="",const char *iomode="r");
00021 virtual ~StIOInterFace(){};
00022 virtual Int_t MakeRead() {return Make();};
00023 virtual Int_t MakeRead(const StUKey &) {return MakeRead();};
00024 virtual Int_t Make() {assert(0);return 1999;};
00025 virtual Int_t Skip(int nskip);
00026 virtual Int_t MakeWrite(){assert(0);return 1999;};
00027 virtual Int_t Open(const char *filename=0){assert(0&&filename);return 1999;};
00028 virtual void Close(Option_t *opt=0){assert(0&&opt);};
00029 virtual Int_t Finish();
00030 TString fIOMode;
00031 TString fTreeName;
00032 TString fFile;
00033 Int_t fNIO;
00034
00035 virtual void SetIOMode(Option_t *iomode="w") {fIOMode=tolower(iomode[0]);};
00036 virtual void SetTreeName(const Char_t *treeName="bfcTree"){fTreeName=treeName;};
00037 virtual const Char_t *GetTreeName() const {return (const Char_t*)fTreeName;};
00038 virtual void SetFileName(const char *fileName){fFile = fileName;};
00039 virtual void SetFile(const char *fileName) {fFile = fileName;};
00040 virtual const char *GetFile() const {return (const char*)fFile;};
00041 virtual const char *GetFileName() const {return GetFile();};
00042
00043 virtual void SetBranch (const Char_t *brName,const Char_t *file=0,const Char_t *iomode="w",Option_t *opt=0);
00044 virtual void IntoBranch(const Char_t *brName,const Char_t *logNames);
00045
00046 ClassDef(StIOInterFace, 1)
00047 };
00048
00049 #endif