]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/comp/AliL3CompressAC.h
New version of TOF tracker which uses TOF clusters as an input (A. De Caro)
[u/mrichter/AliRoot.git] / HLT / comp / AliL3CompressAC.h
CommitLineData
de3c3890 1// @(#) $Id$
2
3#ifndef AliL3_CompressAC
4#define AliL3_CompressAC
5
6#include "AliL3Compress.h"
7#include "bitio.h"
8
9class AliL3CompressAC : public AliL3Compress {
10
b4686276 11 public:
12 AliL3CompressAC();
13 AliL3CompressAC(Int_t slice,Int_t patch,Char_t *path="./",Bool_t writeshape=kFALSE,Int_t event=-1);
14 virtual ~AliL3CompressAC();
15
16 Bool_t CompressFile();
17 Bool_t ExpandFile();
18 void PrintCompRatio(STDOF *outfile=0);
19 void PrintTotals() const;
20
de3c3890 21 private:
b4686276 22 UChar_t *fCount; //! Array of counts
23 UInt_t *fTotals; //! Array of totals, which is actually the model being used during encoding/decoding
24 UShort_t fMax; // Max number of counts
25 UInt_t fScale; // Scaling factor (not used?)
de3c3890 26
b4686276 27 UInt_t fRange; // Range (not used?)
28 UShort_t fLow; // Low bytes?
29 UShort_t fHigh; // High bytes?
30 UShort_t fUnderflowBits; // Underflow (not used?)
31 UShort_t fCode; // Coded informatio?
de3c3890 32
33 void ClearArrays();
34 void BuildModel(BIT_FILE *output);
35 void RebuildModel(BIT_FILE *input);
36 void FillTotals();
37
38 void InitEncoder();
39 void InitDecoder(BIT_FILE *input);
40 void ConvertIntToSymbol(Int_t value);
41 UInt_t ConvertSymbolToInt();
42 void EncodeSymbol(BIT_FILE *output);
43 void RemoveSymbolFromStream(BIT_FILE *input,Int_t j);
44 void FlushEncoder(BIT_FILE *output);
45
de3c3890 46 ClassDef(AliL3CompressAC,1)
47
48};
49
50#endif