]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCDDLDataFileHandler.h
Imported files from the existing L3 code directories (../src, ../comp,
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCDDLDataFileHandler.h
1 // @(#) $Id$
2
3 #ifndef ALIHLTTPCDDLDATAFILEHANDLER_H
4 #define ALIHLTTPCDDLDATAFILEHANDLER_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 "AliHLTTPCDDLRawReaderFile.h"
13 #include "AliHLTTPCDDLTPCRawStream.h"
14 #endif
15 #include "AliHLTTPCMemHandler.h"
16
17 class AliHLTTPCDDLDataFileHandler:public AliHLTTPCMemHandler{
18  
19   public:
20
21    AliHLTTPCDDLDataFileHandler();
22    virtual ~AliHLTTPCDDLDataFileHandler();
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    AliHLTTPCDigitRowData *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(AliHLTTPCDDLRawReaderFile *rf);
32 #endif
33
34    void CloseReaderInput();
35    void FreeAll(); //like AliHLTTPCMemHandler::Free() or AliHLTTPCFileHandler::FreeDigitsTree
36
37    AliHLTTPCDigitRowData* 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    AliHLTTPCDDLRawReaderFile *fReader; // raw reader
50    AliHLTTPCDDLTPCRawStream *fTPCStream; // TPC raw stream
51 #endif
52
53    ClassDef(AliHLTTPCDDLDataFileHandler,1)   //DDL Data Filehandler class
54 };
55 #endif