]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTDataInflaterHuffman.cxx
implementing cleanup functionality to use the same instance in multiple calls
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTDataInflaterHuffman.cxx
index 620ccbff32a97986636426af72d2cc92a73eb563..f895642512d92b666771434cd568bfec8eb9eaeb 100644 (file)
@@ -46,6 +46,8 @@ AliHLTDataInflaterHuffman::AliHLTDataInflaterHuffman()
 AliHLTDataInflaterHuffman::~AliHLTDataInflaterHuffman()
 {
   // destructor
+  if (fHuffmanCoderList) delete fHuffmanCoderList;
+  fHuffmanCoderList=NULL;
 }
 
 int AliHLTDataInflaterHuffman::AddParameterDefinition(const char* name, unsigned bitLength)
@@ -144,3 +146,17 @@ bool AliHLTDataInflaterHuffman::NextValue(AliHLTUInt64_t& value, AliHLTUInt32_t&
 
   return true;
 }
+
+void AliHLTDataInflaterHuffman::Clear(Option_t * option)
+{
+  /// clear the object
+  fCurrentParameter=-1;
+
+  if (strcmp(option, "all")==0) {
+    fHuffmanCoders.clear();
+    if (fHuffmanCoderList) delete fHuffmanCoderList;
+    fHuffmanCoderList=NULL;
+  }
+
+  AliHLTDataInflater::Clear(option);
+}