]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTDataDeflaterSimple.h
#97492 Request to: patch AliSimulation; port to Release; make tag on release; for...
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTDataDeflaterSimple.h
index fa991a7052f1df947ba199a9221c66ad03388f82..4dc4f3729ea9e97bbd9baa9aefc8e38141328164 100644 (file)
@@ -46,8 +46,8 @@ public:
 
     AliHLTDataDeflaterParameter(const char* name, int length, int reduced)
       : fName(name), fFullBitLength(length), fReducedBitLength(reduced)
-      , fMax((0x1<<length)-1), fMaxReduced((0x1<<reduced)-1)
-      , fMask((0x1<<length)-1), fMaskReduced((0x1<<reduced)-1
+      , fMax((((AliHLTUInt64_t)0x1)<<length)-1), fMaxReduced((((AliHLTUInt64_t)0x1)<<reduced)-1)
+      , fMask(fMax), fMaskReduced(fMaxReduced
       , fValueCount(0), fBitCount(0) {}
 
     AliHLTDataDeflaterParameter(const AliHLTDataDeflaterParameter& src)
@@ -57,6 +57,7 @@ public:
       , fValueCount(0), fBitCount(0) {}
 
     AliHLTDataDeflaterParameter& operator=(const AliHLTDataDeflaterParameter& src) {
+      if (this==&src) return *this;
       fName=src.fName; fFullBitLength=src.fFullBitLength; fReducedBitLength=src.fReducedBitLength;
       fMax=src.fMax; fMaxReduced=src.fMaxReduced;
       fMask=src.fMask; fMaskReduced=src.fMaskReduced;
@@ -105,10 +106,7 @@ public:
   };
 
   /// add a parameter definition to the configuration, return reference id
-  int AddParameterDefinition(const char* name, int bitLength, int reducedBitLength) {
-    fParameterDefinitions.push_back(AliHLTDataDeflaterParameter(name, bitLength, reducedBitLength));
-    return fParameterDefinitions.size()-1;
-  }
+  int AddParameterDefinition(const char* name, int bitLength, int reducedBitLength);
 
   /// inherited from AliHLTDataDeflater: write bit pattern according to configuration
   virtual bool OutputParameterBits( int parameterId, AliHLTUInt64_t const & value );
@@ -122,8 +120,16 @@ public:
   /// print info
   virtual void Print(ostream& out, Option_t *option="") const;
 
+  /// DataDeflaterSimple has deflater version 1
+  virtual int GetDeflaterVersion() const {return 1;}
+
  protected:
  private:
+  /// copy constructor prohibited
+  AliHLTDataDeflaterSimple(const AliHLTDataDeflaterSimple&);
+  /// assignment operator prohibited
+  AliHLTDataDeflaterSimple& operator=(const AliHLTDataDeflaterSimple&);
+
   vector<AliHLTDataDeflaterParameter> fParameterDefinitions; //!
 
   ClassDef(AliHLTDataDeflaterSimple, 0)