3 #ifndef ALIHLTCOMPHUFFMANOCCURRENCEDATA_H
4 #define ALIHLTCOMPHUFFMANOCCURRENCEDATA_H
6 /**************************************************************************
7 * This file is property of and copyright by the ALICE HLT Project *
8 * All rights reserved. *
10 * Primary Author: Jenny Wagner (jwagner@cern.ch) *
12 * Permission to use, copy, modify and distribute this software and its *
13 * documentation strictly for non-commercial purposes is hereby granted *
14 * without fee, provided that the above copyright notice appears in all *
15 * copies and that both the copyright notice and this permission notice *
16 * appear in the supporting documentation. The authors make no claims *
17 * about the suitability of this software for any purpose. It is *
18 * provided "as is" without express or implied warranty. *
19 **************************************************************************/
21 /** @file AliHLTCOMPHuffmanOccurrenceData.h
24 @brief Data class containing the occurrence table of ADC-values
27 #include "AliHLTLogging.h"
28 #include "AliHLTDataTypes.h"
30 // type definitions needed for the Huffman compression
32 /** @class AliHLTCOMPHuffmanOccurrenceData
35 @brief The Huffman Occurrence Data containing the struture of the ADC-value occurrence table
37 class AliHLTCOMPHuffmanOccurrenceData : public TObject, public AliHLTLogging
41 /** typedef for the array data of occurrence data */
47 } AliHLTCOMPHuffmanData_t;
49 /** standard constructor */
50 AliHLTCOMPHuffmanOccurrenceData();
53 virtual ~AliHLTCOMPHuffmanOccurrenceData();
55 /** convert one entry of occurrence table into a class instance of HuffmanOccurrenceData */
56 void SetHuffmanOccurrenceData(AliHLTCOMPHuffmanData_t const& occurrencetableentry);
58 /** return one entry of occurrence table */
59 AliHLTCOMPHuffmanData_t* GetHuffmanOccurrenceData(AliHLTCOMPHuffmanData_t* occurrencetableentry);
63 /** copy constructor prohibited */
64 AliHLTCOMPHuffmanOccurrenceData(const AliHLTCOMPHuffmanOccurrenceData&);
66 /** assignment operator prohibited */
67 AliHLTCOMPHuffmanOccurrenceData& operator=(const AliHLTCOMPHuffmanOccurrenceData&);
69 /** 10-bit ADC value used for conversion from struct to class */
70 Int_t amplitude; // 10-bit ADC-value
71 /** occurrence = abundance used for conversion from struct to class */
72 double abundance; // occurrence of one 10-bit ADC-value
73 Int_t code; // internal variable used for sorting the binary tree (nothing to do with Huffman code!)
75 ClassDef(AliHLTCOMPHuffmanOccurrenceData, 1)