]>
Commit | Line | Data |
---|---|---|
de3c3890 | 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 | ||
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 |