]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/comp/AliL3CompressAC.h
Coding conventions, delete members of some HLT arrays, cosmetics (C.Loizides)
[u/mrichter/AliRoot.git] / HLT / comp / AliL3CompressAC.h
1 // @(#) $Id$
2
3 #ifndef AliL3_CompressAC
4 #define AliL3_CompressAC
5
6 #include "AliL3Compress.h"
7 #include "bitio.h"
8
9 class AliL3CompressAC : public AliL3Compress {
10   
11  private:
12   UChar_t *fCount;  //!
13   UInt_t *fTotals;  //!
14   UShort_t fMax;
15   UInt_t fScale;
16
17   UInt_t fRange;
18   UShort_t fLow;
19   UShort_t fHigh;
20   UShort_t fUnderflowBits;
21   UShort_t fCode;
22
23   void ClearArrays();
24   void BuildModel(BIT_FILE *output);
25   void RebuildModel(BIT_FILE *input);
26   void FillTotals();
27
28   void InitEncoder();
29   void InitDecoder(BIT_FILE *input);
30   void ConvertIntToSymbol(Int_t value);
31   UInt_t ConvertSymbolToInt();
32   void EncodeSymbol(BIT_FILE *output);
33   void RemoveSymbolFromStream(BIT_FILE *input,Int_t j);  
34   void FlushEncoder(BIT_FILE *output);
35   
36  public:
37   AliL3CompressAC();
38   AliL3CompressAC(Int_t slice,Int_t patch,Char_t *path="./",Bool_t writeshape=kFALSE,Int_t event=-1);
39   virtual ~AliL3CompressAC();
40   
41   Bool_t CompressFile();
42   Bool_t ExpandFile();
43   void PrintCompRatio(STDOF *outfile=0);
44   void PrintTotals();
45   
46   ClassDef(AliL3CompressAC,1) 
47
48 };
49
50 #endif