#ifndef ALIHLTDATADEFLATERHUFFMAN_H
#define ALIHLTDATADEFLATERHUFFMAN_H
#include "AliHLTDataDeflater.h"
#include "AliHLTHuffman.h"
#include <vector>
#include <string>
#include <sstream>
class AliHLTDataDeflaterHuffman : public AliHLTDataDeflater
{
public:
AliHLTDataDeflaterHuffman(bool bTrainingMode=false);
~AliHLTDataDeflaterHuffman();
int AddParameterDefinition(const char* name, unsigned bitLength, unsigned refLength=0);
int InitDecoders(TList* decoderlist);
virtual bool OutputParameterBits( int parameterId, AliHLTUInt64_t const & value );
int AddTrainingParameter(const char* name, unsigned bitLength);
bool AddTrainingValue( int memberId, AliHLTUInt64_t const & value );
const TList* GenerateHuffmanTree();
const TList* GetList() const {return fHuffmanCoderList;}
virtual void Clear(Option_t * ="");
virtual void Print(Option_t *option="") const;
virtual void Print(ostream& out, Option_t *option="") const;
virtual TObject *FindObject(const char *name) const;
virtual void SaveAs(const char *filename="",Option_t *option="") const;
virtual int GetDeflaterVersion() const {return 2;}
bool IsTrainingMode() const {return fTrainingMode;}
protected:
private:
AliHLTDataDeflaterHuffman(const AliHLTDataDeflaterHuffman&);
AliHLTDataDeflaterHuffman& operator=(const AliHLTDataDeflaterHuffman&);
vector<unsigned> fReferenceLength;
vector<AliHLTHuffman*> fHuffmanCoders;
TList* fHuffmanCoderList;
bool fTrainingMode;
ClassDef(AliHLTDataDeflaterHuffman, 0)
};
ostream& operator<<(ostream &out, const AliHLTDataDeflaterHuffman& me);
#endif
AliHLTDataDeflaterHuffman.h:1 AliHLTDataDeflaterHuffman.h:2 AliHLTDataDeflaterHuffman.h:3 AliHLTDataDeflaterHuffman.h:4 AliHLTDataDeflaterHuffman.h:5 AliHLTDataDeflaterHuffman.h:6 AliHLTDataDeflaterHuffman.h:7 AliHLTDataDeflaterHuffman.h:8 AliHLTDataDeflaterHuffman.h:9 AliHLTDataDeflaterHuffman.h:10 AliHLTDataDeflaterHuffman.h:11 AliHLTDataDeflaterHuffman.h:12 AliHLTDataDeflaterHuffman.h:13 AliHLTDataDeflaterHuffman.h:14 AliHLTDataDeflaterHuffman.h:15 AliHLTDataDeflaterHuffman.h:16 AliHLTDataDeflaterHuffman.h:17 AliHLTDataDeflaterHuffman.h:18 AliHLTDataDeflaterHuffman.h:19 AliHLTDataDeflaterHuffman.h:20 AliHLTDataDeflaterHuffman.h:21 AliHLTDataDeflaterHuffman.h:22 AliHLTDataDeflaterHuffman.h:23 AliHLTDataDeflaterHuffman.h:24 AliHLTDataDeflaterHuffman.h:25 AliHLTDataDeflaterHuffman.h:26 AliHLTDataDeflaterHuffman.h:27 AliHLTDataDeflaterHuffman.h:28 AliHLTDataDeflaterHuffman.h:29 AliHLTDataDeflaterHuffman.h:30 AliHLTDataDeflaterHuffman.h:31 AliHLTDataDeflaterHuffman.h:32 AliHLTDataDeflaterHuffman.h:33 AliHLTDataDeflaterHuffman.h:34 AliHLTDataDeflaterHuffman.h:35 AliHLTDataDeflaterHuffman.h:36 AliHLTDataDeflaterHuffman.h:37 AliHLTDataDeflaterHuffman.h:38 AliHLTDataDeflaterHuffman.h:39 AliHLTDataDeflaterHuffman.h:40 AliHLTDataDeflaterHuffman.h:41 AliHLTDataDeflaterHuffman.h:42 AliHLTDataDeflaterHuffman.h:43 AliHLTDataDeflaterHuffman.h:44 AliHLTDataDeflaterHuffman.h:45 AliHLTDataDeflaterHuffman.h:46 AliHLTDataDeflaterHuffman.h:47 AliHLTDataDeflaterHuffman.h:48 AliHLTDataDeflaterHuffman.h:49 AliHLTDataDeflaterHuffman.h:50 AliHLTDataDeflaterHuffman.h:51 AliHLTDataDeflaterHuffman.h:52 AliHLTDataDeflaterHuffman.h:53 AliHLTDataDeflaterHuffman.h:54 AliHLTDataDeflaterHuffman.h:55 AliHLTDataDeflaterHuffman.h:56 AliHLTDataDeflaterHuffman.h:57 AliHLTDataDeflaterHuffman.h:58 AliHLTDataDeflaterHuffman.h:59 AliHLTDataDeflaterHuffman.h:60 AliHLTDataDeflaterHuffman.h:61 AliHLTDataDeflaterHuffman.h:62 AliHLTDataDeflaterHuffman.h:63 AliHLTDataDeflaterHuffman.h:64 AliHLTDataDeflaterHuffman.h:65 AliHLTDataDeflaterHuffman.h:66 AliHLTDataDeflaterHuffman.h:67 AliHLTDataDeflaterHuffman.h:68 AliHLTDataDeflaterHuffman.h:69 AliHLTDataDeflaterHuffman.h:70 AliHLTDataDeflaterHuffman.h:71 AliHLTDataDeflaterHuffman.h:72 AliHLTDataDeflaterHuffman.h:73 AliHLTDataDeflaterHuffman.h:74 AliHLTDataDeflaterHuffman.h:75 AliHLTDataDeflaterHuffman.h:76 AliHLTDataDeflaterHuffman.h:77 AliHLTDataDeflaterHuffman.h:78 AliHLTDataDeflaterHuffman.h:79 AliHLTDataDeflaterHuffman.h:80 AliHLTDataDeflaterHuffman.h:81 AliHLTDataDeflaterHuffman.h:82 AliHLTDataDeflaterHuffman.h:83 AliHLTDataDeflaterHuffman.h:84 AliHLTDataDeflaterHuffman.h:85 AliHLTDataDeflaterHuffman.h:86 AliHLTDataDeflaterHuffman.h:87 AliHLTDataDeflaterHuffman.h:88 AliHLTDataDeflaterHuffman.h:89 AliHLTDataDeflaterHuffman.h:90 AliHLTDataDeflaterHuffman.h:91 AliHLTDataDeflaterHuffman.h:92 AliHLTDataDeflaterHuffman.h:93 AliHLTDataDeflaterHuffman.h:94 AliHLTDataDeflaterHuffman.h:95 AliHLTDataDeflaterHuffman.h:96 AliHLTDataDeflaterHuffman.h:97