]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RAW/AliAltroRawStream.h
Introduction of short LUTs for direct browsing in the Huffman tree. The AliTPCCompres...
[u/mrichter/AliRoot.git] / RAW / AliAltroRawStream.h
1 #ifndef ALIALTRORAWSTREAM_H
2 #define ALIALTRORAWSTREAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ///////////////////////////////////////////////////////////////////////////////
9 ///
10 /// This is a base class for reading raw data digits in Altro format
11 ///
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include <TObject.h>
15
16 class AliRawReader;
17
18
19 class AliAltroRawStream: public TObject {
20   public :
21     AliAltroRawStream(AliRawReader* rawReader);
22     virtual ~AliAltroRawStream();
23
24     virtual Bool_t   Next();
25
26   protected:
27     Int_t            fSector;       // index of current sector
28     Int_t            fPrevSector;   // index of previous sector
29     Int_t            fRow;          // index of current row
30     Int_t            fPrevRow;      // index of previous row
31     Int_t            fPad;          // index of current pad
32     Int_t            fPrevPad;      // index of previous pad
33     Int_t            fTime;         // index of current time bin
34     Int_t            fSignal;       // signal in ADC counts
35     Int_t            fTimeBunch;    // total length of the current time bunch
36
37     AliRawReader*    fRawReader;    // object for reading the raw data
38
39   private :
40     AliAltroRawStream(const AliAltroRawStream& stream);
41     AliAltroRawStream& operator = (const AliAltroRawStream& stream);
42
43     UShort_t         Get10BitWord(UChar_t* buffer, Int_t position) const;
44
45     UChar_t*         fData;         // raw data
46     Int_t            fPosition;     // current (10 bit) position in fData
47     Int_t            fCount;        // counter of words to be read for current trailer
48     Int_t            fBunchLength;  // remaining number of signal bins in the current bunch
49
50     ClassDef(AliAltroRawStream, 0)  // base class for reading Altro raw digits
51 };
52
53 #endif