]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RAW/AliMDC.h
Bug fix. Sorting out the issue with the ownership of the DATE event in the memory...
[u/mrichter/AliRoot.git] / RAW / AliMDC.h
index 8c52baa63ddfbbd87f6a46ebe135de2d85ac4c7b..d5f5fb9703273673004b3a56a70ee48450f062a0 100644 (file)
@@ -1,6 +1,6 @@
 #ifndef ALIMDC_H
 #define ALIMDC_H
-// @(#)alimdc:$Name$:$Id$
+// @(#)alimdc:$Name:  $:$Id$
 // Author: Fons Rademakers  26/11/99
 
 /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
 #endif
 
 // Forward class declarations
-class AliRawEvent;
 class AliRawEventHeaderBase;
 class AliRawEquipmentHeader;
 class AliRawData;
 class AliRawDB;
 class AliTagDB;
-class AliStats;
-class AliESD;
+class AliRawEventTag;
+class AliESDEvent;
+
+#include "AliRawEventV2.h"
+#include "AliESDEvent.h"
+#include "AliRawDB.h"
+#include "AliTagDB.h"
+#include "AliRawData.h"
+#include "AliRawEventTag.h"
 
 class AliMDC : public TObject {
 
@@ -48,17 +54,23 @@ public:
                     kErrEquipment = -7,
                      kErrFileSize = -8,
                     kFilterReject = -9,
-                     kErrWriting = -10 };
+                     kErrWriting = -10,
+                    kErrTagFile = -11};
 
    AliMDC(Int_t compress, Bool_t deleteFiles, 
          EFilterMode filterMode = kFilterTransparent, 
-         Double_t maxSizeTagDB = -1, const char* fileNameTagDB = NULL);
+         Double_t maxSizeTagDB = -1, const char* fileNameTagDB = NULL,
+         const char* guidFileFolder = NULL,
+         Int_t basketsize = 32000);
    virtual ~AliMDC();
 
-   Int_t      Open(EWriteMode mode, const char* fileName);
+   Int_t      Open(EWriteMode mode, const char* fileName,
+                  Double_t maxFileSize = 0,
+                  const char* fs1 = NULL, const char* fs2 = NULL);
    Int_t      ProcessEvent(void* event, Bool_t isIovecArray = kFALSE);
-   Int_t      GetTotalSize();
-   Int_t      Close();
+   Long64_t   GetTotalSize();
+   Long64_t   Close();
+   Long64_t   AutoSave();
 
    Int_t      Run(const char* inputFile, Bool_t loop,
                  EWriteMode mode, Double_t maxFileSize, 
@@ -81,19 +93,21 @@ private:
      AliMDCInterruptHandler& operator=(const AliMDCInterruptHandler& handler); // Not implemented
    };
 
-   AliRawEvent *fEvent;       // produced AliRawEvent
-   AliESD      *fESD;         // pointer to HLT ESD object
-   AliStats    *fStats;       // statistics
+   AliRawEventV2 *fEvent;       // produced AliRawEvent
+   AliESDEvent      *fESD;         // pointer to HLT ESD object
    AliRawDB    *fRawDB;       // raw data DB
    AliTagDB    *fTagDB;       // tag DB
+   AliRawEventTag *fEventTag; // raw-data event tag object
    Int_t        fCompress;    // compression factor used for raw output DB
+   Int_t        fBasketSize;  // root i/o basket size (default = 32000)
    Bool_t       fDeleteFiles; // flag for deletion of files
    EFilterMode  fFilterMode;  // high level filter mode
    TObjArray    fFilters;     // filter algorithms
    Bool_t       fStop;        // stop execution (triggered by SIGUSR1)
    Bool_t       fIsTagDBCreated; // is tag db already created
    Double_t     fMaxSizeTagDB;// max size of the tag DB
-   const char*  fFileNameTagDB;// tag DB file name
+   TString      fFileNameTagDB;// tag DB file name
+   TString      fGuidFileFolder; // guid files folder
 
    // Filter names
    enum {kNFilters = 1};
@@ -108,7 +122,7 @@ private:
                                  Bool_t isSwapped, char*& data);
    Int_t     ReadRawData(AliRawData &raw, Int_t size, char*& data);
 
-   ClassDef(AliMDC,0)  // MDC processor
+   ClassDef(AliMDC,3)  // MDC processor
 };
 
 #endif