]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RAW/AliRawDB.h
TPC data is now split into 18 branches in order to avoid big memory consumption on...
[u/mrichter/AliRoot.git] / RAW / AliRawDB.h
index d223f848f574bef7d63811ce26c427a7d3088271..e6c61a960442e4806995dc8ca3e24dc1fe564e3f 100644 (file)
 #include <TString.h>
 #endif
 
+#include "AliDAQ.h"
 
 // Forward class declarations
 class AliRawEvent;
+class AliRawDataArray;
 class AliStats;
 class TFile;
-class AliESD;
+class AliESDEvent;
 
 class AliRawDB : public TObject {
 
 public:
    AliRawDB(AliRawEvent *event,
-           AliESD *esd,
+           AliESDEvent *esd,
            Int_t compress,
             const char* fileName = NULL);
-   virtual ~AliRawDB() { Close(); }
+   virtual ~AliRawDB();
 
    virtual const char *GetOpenOption() const { return "RECREATE"; }
    virtual Int_t       GetNetopt() const { return 0; }
    virtual Bool_t      Create(const char* fileName = NULL);
-   virtual void        Close();
+   virtual Int_t       Close();
    Int_t               Fill();
+   Int_t               GetTotalSize();
 
    void         WriteStats(AliStats* stats);
 
@@ -66,21 +69,25 @@ public:
    Float_t      GetCompressionFactor() const;
    Int_t        GetCompressionMode() const { return fRawDB->GetCompressionLevel(); }
    void         Stop() { fStop = kTRUE; }
-
-   enum {kMDC = 6};  // Which MDC is this...
+   static const char *GetAliRootTag();
+   Bool_t       WriteGuidFile(TString &guidFileFolder);
 
 protected:
    TFile         *fRawDB;         // DB to store raw data
    TTree         *fTree;          // tree used to store raw data
    AliRawEvent   *fEvent;         // AliRawEvent via which data is stored
+   AliRawDataArray  **fDetRawData[AliDAQ::kNDetectors+1]; // Detectors raw-data payload
    TTree         *fESDTree;       // tree for storing HLT ESD information
-   AliESD        *fESD;           // pointer to HLT ESD object
+   AliESDEvent        *fESD;           // pointer to HLT ESD object
    Int_t          fCompress;      // compression mode (1 default)
    Double_t       fMaxSize;       // maximum size in bytes of the raw DB
    TString        fFS1;           // first raw DB file system location
    TString        fFS2;           // second raw DB file system location
    Bool_t         fDeleteFiles;   // flag for deletion of files
    Bool_t         fStop;          // stop execution (triggered by SIGUSR1)
+   static const char  *fgkAliRootTag; // string with the aliroot tag id
+
+   static Int_t   fgkDetBranches[AliDAQ::kNDetectors+1]; // Number of branches in each detector
 
    virtual const char *GetFileName() const;
    virtual Bool_t      FSHasSpace(const char *fs) const;
@@ -90,7 +97,7 @@ private:
    AliRawDB(const AliRawDB& rawDB);
    AliRawDB& operator = (const AliRawDB& rawDB);
 
-   ClassDef(AliRawDB,0)  // Raw DB
+   ClassDef(AliRawDB,3)  // Raw DB
 };
 
 #endif