Fixes in alimdc package in order to be able to compile the code without HLT
[u/mrichter/AliRoot.git] / RAW / AliRawDB.h
index f233b2e5f14bd589d9899ecfad3fba7a0a281593..8ae6b53b0f88040db189c857a4e0e51ca0564bfc 100644 (file)
 
 // Forward class declarations
 class AliRawEvent;
+class AliStats;
 class TFile;
 
+#ifdef USE_HLT
+class AliESD;
+#endif
 
 class AliRawDB : public TObject {
 
 public:
-   AliRawDB(AliRawEvent *event, Double_t maxsize, Int_t compress,
+   AliRawDB(AliRawEvent *event,
+#ifdef USE_HLT
+           AliESD *esd,
+#endif
+           Double_t maxsize, Int_t compress,
             Bool_t create = kTRUE);
    virtual ~AliRawDB() { Close(); }
 
@@ -41,10 +49,16 @@ public:
    virtual Int_t       GetNetopt() const { return 0; }
    virtual Bool_t      Create();
    virtual void        Close();
-   void                Fill() { fTree->Fill(); }
+   void                Fill() { fTree->Fill();
+#ifdef USE_HLT
+                                fESDTree->Fill();
+#endif
+                              }
    Bool_t              FileFull() { return (fRawDB->GetBytesWritten() > fMaxSize) ?
                                     kTRUE : kFALSE; }
 
+   void         WriteStats(AliStats* stats);
+
    Bool_t       NextFile();
 
    Double_t     GetBytesWritten() const { return fRawDB->GetBytesWritten(); }
@@ -59,6 +73,10 @@ protected:
    TFile         *fRawDB;         // DB to store raw data
    TTree         *fTree;          // tree used to store raw data
    AliRawEvent   *fEvent;         // AliRawEvent via which data is stored
+#ifdef USE_HLT
+   TTree         *fESDTree;       // tree for storing HLT ESD information
+   AliESD        *fESD;           // pointer to HLT ESD object
+#endif
    Int_t          fCompress;      // compression mode (1 default)
    Double_t       fMaxSize;       // maximum size in bytes of the raw DB