]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTDataSink.h
Minor cleanup of code.
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTDataSink.h
index e5ebad5bb05320088468f7ee11cc5271c9b55faf..38d93e4e023e205f14408d044ff877a98033b197 100644 (file)
@@ -1,3 +1,4 @@
+//-*- Mode: C++ -*-
 // @(#) $Id$
 
 #ifndef ALIHLTDATASINK_H
     @note   The class is used in Offline (AliRoot) context
 */
 
+// see below for class documentation
+// or
+// refer to README to build package
+// or
+// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt   
+
 #include "AliHLTComponent.h"
 
 /**
@@ -24,8 +31,6 @@
  * - @ref DumpEvent
  * - @ref GetComponentID
  * - @ref GetInputDataTypes
- * - @ref GetOutputDataType
- * - @ref GetOutputDataSize
  * - @ref Spawn
  *
  * @ingroup alihlt_component
@@ -48,8 +53,7 @@ class AliHLTDataSink : public AliHLTComponent {
                    AliHLTComponentTriggerData& trigData,
                    AliHLTUInt8_t* outputPtr, 
                    AliHLTUInt32_t& size,
-                   AliHLTUInt32_t& outputBlockCnt, 
-                   AliHLTComponentBlockData*& outputBlocks,
+                   vector<AliHLTComponentBlockData>& outputBlocks,
                    AliHLTComponentEventDoneData*& edd );
 
   // Information member functions for registration.
@@ -72,17 +76,30 @@ class AliHLTDataSink : public AliHLTComponent {
    */
   void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
 
- private:
+ protected:
+
   /**
-   * Data processing method for the component.
+   * The low-level data processing method for the component.
+   * This is the custom processing method and can be overloaded by 
+   * the component.
    * @param evtData       event data structure
    * @param blocks        input data block descriptors
    * @param trigData     trigger data structure
    */
   virtual int DumpEvent( const AliHLTComponentEventData& evtData,
-                        const AliHLTComponentBlockData* blocks, 
-                        AliHLTComponentTriggerData& trigData ) = 0;
+                const AliHLTComponentBlockData* blocks, 
+                AliHLTComponentTriggerData& trigData );
+
+  /**
+   * The high-level data processing method.
+   * This is the default processing method; the method is called
+   * if no low level @ref DumpEvent method is overloaded by the component.
+   * @param evtData       event data structure
+   * @param trigData     trigger data structure
+   */
+  virtual int DumpEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
+
 
-  ClassDef(AliHLTDataSink, 0)
+  ClassDef(AliHLTDataSink, 1)
 };
 #endif