]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTOUT.h
bugfix: correct range of DDL for specified detector
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTOUT.h
index 5d643b9b1d5d7269b9b96198a8144ed245b3c073..5dd7d3d41ce6a56c5931e760970988eb88b14bb6 100644 (file)
@@ -1,5 +1,5 @@
 //-*- Mode: C++ -*-
-// @(#) $Id$
+// $Id$
 
 #ifndef ALIHLTOUT_H
 #define ALIHLTOUT_H
@@ -7,11 +7,11 @@
 //* ALICE Experiment at CERN, All rights reserved.                         *
 //* See cxx source for full Copyright notice                               *
 
-/** @file   AliHLTOUT.h
-    @author Matthias Richter
-    @date   
-    @brief  The control class for HLTOUT data.
-*/
+/// @file   AliHLTOUT.h
+/// @author Matthias Richter
+/// @date   
+/// @brief  The control class for HLTOUT data.
+///
 
 #include <vector>
 #include "AliHLTLogging.h"
@@ -187,8 +187,10 @@ class AliHLTOUT {
       : fDataType(dt), fSpecification(spec), fIndex(index), fSelected(false), fProcessed(false), fpCollection(pCollection) {};
     AliHLTOUTBlockDescriptor(const AliHLTOUTBlockDescriptor& src)
       : fDataType(src.fDataType), fSpecification(src.fSpecification), fIndex(src.fIndex), fSelected(false), fProcessed(false), fpCollection(src.fpCollection) {}
-    AliHLTOUTBlockDescriptor& operator=(const AliHLTOUTBlockDescriptor& src)
-    { fDataType=src.fDataType; fSpecification=src.fSpecification; fIndex=src.fIndex; fSelected=false; fProcessed=false; fpCollection=src.fpCollection; return *this; }
+    AliHLTOUTBlockDescriptor& operator=(const AliHLTOUTBlockDescriptor& src) {
+      if (this==&src) return *this;
+      fDataType=src.fDataType; fSpecification=src.fSpecification; fIndex=src.fIndex; fSelected=false; fProcessed=false; fpCollection=src.fpCollection; return *this;
+    }
     ~AliHLTOUTBlockDescriptor() {}
 
     operator AliHLTComponentDataType() const {return fDataType;}
@@ -220,6 +222,9 @@ class AliHLTOUT {
      */
     const AliHLTOUTHandlerListEntry& GetHandlerDesc();
 
+    /// print info
+    void Print(const char* option="") const;
+
   private:      
     /** data type of the block */
     AliHLTComponentDataType fDataType; //!transient
@@ -308,6 +313,9 @@ class AliHLTOUT {
      */
     bool IsEmpty() {return fBlocks.size()==0;}
 
+    /// print info
+    void Print(const char* option="") const;
+
   private:
     /** standard constructor prohibited */
     AliHLTOUTHandlerListEntry();
@@ -438,6 +446,14 @@ class AliHLTOUT {
 
   /**
    * Get buffer of the selected data block.
+   * Buffer has to be released using ReleaseDataBuffer
+   * @param [out] desc  block data descriptor
+   */
+  int GetDataBuffer(AliHLTComponentBlockData& desc);
+
+  /**
+   * Get buffer of the selected data block.
+   * Buffer has to be released using ReleaseDataBuffer
    * @param [out] pBuffer buffer of the selected data block
    * @param [out] size    size of the selected data block
    */
@@ -630,6 +646,9 @@ class AliHLTOUT {
    */
   void SwitchVerbosity(bool verbose) {fbVerbose=verbose;}
 
+  /// print info
+  void Print(const char* option="") const;
+
  private:
   /** copy constructor prohibited */
   AliHLTOUT(const AliHLTOUT&);