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 //////////////////////////////////////////////////////////////////////////
28 // Forward class declarations
37 class AliRawDB : public TObject {
40 AliRawDB(AliRawEvent *event,
44 Double_t maxsize, Int_t compress,
45 Bool_t create = kTRUE);
46 virtual ~AliRawDB() { Close(); }
48 virtual const char *GetOpenOption() const { return "RECREATE"; }
49 virtual Int_t GetNetopt() const { return 0; }
50 virtual Bool_t Create();
52 void Fill() { fTree->Fill(); fESDTree->Fill(); }
53 Bool_t FileFull() { return (fRawDB->GetBytesWritten() > fMaxSize) ?
56 void WriteStats(AliStats* stats);
60 Double_t GetBytesWritten() const { return fRawDB->GetBytesWritten(); }
61 TFile *GetDB() const { return fRawDB; }
62 const char *GetDBName() const { return fRawDB->GetName(); }
63 Int_t GetEvents() const { return (Int_t) fTree->GetEntries(); }
64 AliRawEvent *GetEvent() const { return fEvent; }
65 Float_t GetCompressionFactor() const;
66 Int_t GetCompressionMode() const { return fRawDB->GetCompressionLevel(); }
69 TFile *fRawDB; // DB to store raw data
70 TTree *fTree; // tree used to store raw data
71 AliRawEvent *fEvent; // AliRawEvent via which data is stored
73 TTree *fESDTree; // tree for storing HLT ESD information
74 AliESD *fESD; // pointer to HLT ESD object
76 Int_t fCompress; // compression mode (1 default)
77 Double_t fMaxSize; // maximum size in bytes of the raw DB
79 virtual const char *GetFileName() const;
80 virtual Bool_t FSHasSpace(const char *fs) const;
81 virtual void MakeTree();
84 AliRawDB(const AliRawDB& rawDB);
85 AliRawDB& operator = (const AliRawDB& rawDB);
87 ClassDef(AliRawDB,0) // Raw DB