StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StFileI.h
1 
4 #ifndef ROOT_StFileI
5 #define ROOT_StFileI
6 
7 #include "TNamed.h"
8 #include "assert.h"
9 #include "string.h"
10 
11 const UInt_t kUMAX = (UInt_t)(-1);
12 
13 class StUKey
14 {
15 public:
16  StUKey(const char *name=0,UInt_t *uk=0,int nk=1);
17  StUKey(const char *name,UInt_t uk);
18  StUKey(UInt_t uRun,UInt_t uEvent=0);
19  virtual ~StUKey(){}
20  virtual StUKey &operator=( const StUKey &from);
21  virtual StUKey &operator=( UInt_t from);
22  virtual StUKey &operator=( Int_t from){return *this=(UInt_t)from;}
23  virtual StUKey &operator=( const char *from);
24  virtual void Update(const StUKey &from,const char *name=0);
25  virtual void SetName(const char *name){fName=name;}
26  virtual const char *GetName() const {return fName;}
27  virtual TString GetKey() const;
28  virtual Int_t GetNInt() const{ return fNUrr;}
29  virtual const UInt_t *GetUrr() const{ return fUrr;}
30  virtual void SetKey(const char *key);
31  virtual void SetUrr(const UInt_t *key,int nk);
32  virtual UInt_t GetSum() const;
33  virtual Int_t EOK() const { return fUrr[0]==kUMAX;}
34  virtual Int_t IsNull() const { return !fUrr[0];}
35  virtual Int_t Compare(StUKey &uk2) const
36  { return strcmp(GetKey().Data(),uk2.GetKey().Data());}
37  virtual Int_t GetRunId() const { return fUrr[0]; }
38  virtual Int_t GetEventId() const { return fUrr[1]; }
39 private:
40  TString fName;
41  Int_t fNUrr;
42  UInt_t fUrr[9];
43 };
44 
45 
46 class StFileI : public TNamed
47 {
48 public:
49  StFileI(const char *name="",const char *titl=""):TNamed(name,titl){SetDebug(0);}
50  virtual ~StFileI(){}
51  virtual Int_t SetDebug(Int_t dbl=1){fDebug=dbl; return fDebug;}
52  virtual Int_t GetDebug() const {return fDebug;}
53  virtual Int_t Init(int /* Argc=0 */, const char** /* Argv=0 */){return 0;}
54  virtual Int_t Init(const char *argv)
55  {const char *Argv[1]; Argv[0]=argv; return Init(1,Argv);};
56 
57  virtual void ls(Option_t *opt="") const {if(opt){};};
58  virtual Int_t AddFile(const char */* file */,const char * opt=0){if (opt) {}; return 0;};
59  virtual Int_t AddFile(const char **/* fileList */){return 0;};
60  virtual Int_t AddWild(const char */* file */,const char */* opt=0 */){return 0;};
61  virtual Int_t GetNFiles()=0;
62  virtual Int_t GetNBundles()=0;
63  virtual Int_t GetBundleSize()=0;
64  virtual const char *GetFileName(Int_t idx=-1)=0;
65  virtual const char *GetCompName(Int_t idx=0)=0;
66  virtual const char *GetFormat(Int_t idx=0)=0;
67  virtual Int_t GetNextBundle()=0;
68  virtual Int_t GetNextEvent(UInt_t *NextEventNumber)
69  {*NextEventNumber=0;return 0;}
70  virtual StUKey GetNextEvent();
71  virtual void Rewind(){assert(0);};
72 protected:
73  Int_t fDebug;
74 
75 ClassDef(StFileI,0)
76 };
77 #endif
Definition: StFileI.h:13