Introduction of the online monitoring code into the alimdc package. Fixed some memory...
[u/mrichter/AliRoot.git] / HLT / misc / AliL3DDLDataFileHandler.h
1 // @(#) $Id$
2
3 #ifndef ALIL3DDLDATAFILEHANDLER_H
4 #define ALIL3DDLDATAFILEHANDLER_H
5
6 #ifdef use_newio
7 #include "../RAW/AliRawEvent.h"
8 #include "../RAW/AliRawReader.h"
9 #include "../RAW/AliTPCRawStream.h"
10 #include <TString.h>
11 #else
12 #include "AliL3DDLRawReaderFile.h"
13 #include "AliL3DDLTPCRawStream.h"
14 #endif
15 #include "AliL3MemHandler.h"
16
17 class AliL3DDLDataFileHandler:public AliL3MemHandler{
18  
19   public:
20
21    AliL3DDLDataFileHandler();
22    virtual ~AliL3DDLDataFileHandler();
23
24 #ifdef use_newio
25    Bool_t SetReaderInput(AliRawEvent *rawevent);
26    Bool_t SetReaderInput(Char_t *name,Int_t event=0);
27    Bool_t IsDigit(Int_t i=0) const;
28    AliL3DigitRowData *AliAltroDigits2Memory(UInt_t & nrow,Int_t event=0,Bool_t /*eventmerge*/=kFALSE){return DDLData2Memory(nrow,event);};
29 #else
30    Bool_t SetReaderInput(Char_t *name,Bool_t add=kTRUE);
31    Bool_t SetReaderInput(AliL3DDLRawReaderFile *rf);
32 #endif
33
34    void CloseReaderInput();
35    void FreeAll(); //like AliL3MemHandler::Free() or AliL3FileHandler::FreeDigitsTree
36
37    AliL3DigitRowData* DDLData2Memory(UInt_t &nrow,Int_t event=-1);
38    Bool_t DDLData2CompBinary(Int_t event=-1);
39
40    AliTPCRawStream* GetTPCRawStream(){return fTPCStream;}
41
42   private:
43 #ifdef use_newio
44    TString          fFilename; // IO file name
45    Int_t            fEvent;    // event number
46    AliRawReader    *fReader;   // raw reader
47    AliTPCRawStream *fTPCStream;// TPC raw stream
48 #else
49    AliL3DDLRawReaderFile *fReader; // raw reader
50    AliL3DDLTPCRawStream *fTPCStream; // TPC raw stream
51 #endif
52
53    ClassDef(AliL3DDLDataFileHandler,1)   //DDL Data Filehandler class
54 };
55 #endif