]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTProcessor.h
moved from BASE to BASE/util
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTProcessor.h
index 89efb58b33975585953dcacaa2a45d7162e1b208..1d74711dbf9f409a5bf1f91ff9befb8c5ec0fc75 100644 (file)
@@ -1,3 +1,4 @@
+//-*- Mode: C++ -*-
 // @(#) $Id$
 
 #ifndef ALIHLTPROCESSOR_H
@@ -36,7 +37,7 @@ class AliHLTProcessor : public AliHLTComponent {
   virtual ~AliHLTProcessor();
 
   /* depricated */
-  int Init( AliHLTComponentEnvironment* environ, void* environ_param, int argc, const char** argv );
+  int Init( AliHLTComponentEnvironment* environ, void* environParam, int argc, const char** argv );
   /* depricated */
   int Deinit();
 
@@ -46,13 +47,12 @@ class AliHLTProcessor : public AliHLTComponent {
    * preparation of data structures. The call is redirected to DoEvent.
    * @return neg. error code if failed 
    */
-  int ProcessEvent( const AliHLTComponentEventData& evtData,
+  int DoProcessing( const AliHLTComponentEventData& evtData,
                    const AliHLTComponentBlockData* blocks, 
                    AliHLTComponentTriggerData& trigData,
                    AliHLTUInt8_t* outputPtr, 
                    AliHLTUInt32_t& size,
-                   AliHLTUInt32_t& outputBlockCnt, 
-                   AliHLTComponentBlockData*& outputBlocks,
+                   vector<AliHLTComponentBlockData>& outputBlocks,
                    AliHLTComponentEventDoneData*& edd );
 
   // Information member functions for registration.
@@ -65,7 +65,9 @@ class AliHLTProcessor : public AliHLTComponent {
 
  private:
   /**
-   * 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
@@ -73,14 +75,25 @@ class AliHLTProcessor : public AliHLTComponent {
    * @param size         <i>input</i>: size of target buffer
    *                     <i>output</i>:size of produced data
    * @param outputBlocks  list to receive output block descriptors
+   * @return neg. error code if failed
    */
   virtual int DoEvent( const AliHLTComponentEventData& evtData,
                       const AliHLTComponentBlockData* blocks, 
                       AliHLTComponentTriggerData& trigData,
                       AliHLTUInt8_t* outputPtr, 
                       AliHLTUInt32_t& size,
-                      vector<AliHLTComponentBlockData>& outputBlocks ) = 0;
+                      vector<AliHLTComponentBlockData>& outputBlocks );
 
-  ClassDef(AliHLTProcessor, 0)
+  /**
+   * The high-level data processing method.
+   * This is the default processing method; the method is called
+   * if no low level @ref DoEvent method is overloaded by the component.
+   * @param evtData       event data structure
+   * @param trigData     trigger data structure
+   * @return neg. error code if failed
+   */
+  virtual int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
+
+  ClassDef(AliHLTProcessor, 1)
 };
 #endif