3 // @(#)alimdc:$Name$:$Id$
4 // Author: Fons Rademakers 26/11/99
6 /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
9 //////////////////////////////////////////////////////////////////////////
13 //////////////////////////////////////////////////////////////////////////
33 // Forward class declarations
34 class AliRawEventHeaderBase;
37 class AliTagDB : public TObject {
40 AliTagDB(AliRawEventHeaderBase *header, const char* fileName = NULL);
41 virtual ~AliTagDB() { Close(); }
43 Bool_t Create(const char* fileName = NULL);
45 void Fill() { fTree->Fill(); }
47 { return (fMaxSize >= 0) ? ((fTagDB->GetBytesWritten() > fMaxSize) ? kTRUE : kFALSE) : kFALSE; }
49 Bool_t NextFile(const char* fileName = NULL);
51 void SetMaxSize(Double_t maxSize) { fMaxSize = maxSize; }
52 void SetFS(const char* fs);
54 Double_t GetBytesWritten() const { return fTagDB->GetBytesWritten(); }
55 TFile *GetDB() const { return fTagDB; }
56 const char *GetDBName() const { return fTagDB->GetName(); }
57 AliRawEventHeaderBase *GetHeader() const { return fHeader; }
58 Int_t GetEvents() const { return (Int_t) fTree->GetEntries(); }
59 Float_t GetCompressionFactor() const;
62 TFile *fTagDB; // DB to store header information only (tag)
63 TTree *fTree; // tree use to store header
64 AliRawEventHeaderBase *fHeader; // header via which data is stored
65 Double_t fMaxSize; // maximum size in bytes of tag DB
66 TString fFS; // tag DB file system location
67 Bool_t fDeleteFiles; // flag for deletion of files
69 virtual const char *GetFileName() const;
72 AliTagDB(const AliTagDB& tagDB);
73 AliTagDB& operator = (const AliTagDB& tagDB);
75 ClassDef(AliTagDB,0) // Tag DB