]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTProcessor.h
Update master to aliroot
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTProcessor.h
index ec38516fb2910193353cb274a27970e780828608..3bed15267ea0840f04673a28cf7e45ffed428fb2 100644 (file)
@@ -1,22 +1,17 @@
 //-*- Mode: C++ -*-
-// @(#) $Id$
+// $Id$
 
 #ifndef ALIHLTPROCESSOR_H
 #define ALIHLTPROCESSOR_H
-/* This file is property of and copyright by the ALICE HLT Project        * 
- * ALICE Experiment at CERN, All rights reserved.                         *
- * See cxx source for full Copyright notice                               */
+///* This file is property of and copyright by the                          * 
+///* ALICE Experiment at CERN, All rights reserved.                         *
+///* See cxx source for full Copyright notice                               *
 
-/** @file   AliHLTProcessor.h
-    @author Matthias Richter, Timm Steinbeck
-    @date   
-    @brief  Base class declaration for HLT analysis components. */
-
-// see below for class documentation
-// or
-// refer to README to build package
-// or
-// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt   
+/// @file   AliHLTProcessor.h
+/// @author Matthias Richter, Timm Steinbeck
+/// @date   
+/// @brief  Base class declaration for HLT analysis components.
+///
 
 #include "AliHLTComponent.h"
 
@@ -70,13 +65,13 @@ class AliHLTProcessor : public AliHLTComponent {
    * 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
-   * @param outputPtr    pointer to target buffer
-   * @param size         <i>input</i>: size of target buffer
+   * @param [in] evtData       event data structure
+   * @param [in] blocks        input data block descriptors
+   * @param [in] trigData        trigger data structure
+   * @param [in] outputPtr       pointer to target buffer
+   * @param [in,out] size        <i>input</i>: size of target buffer
    *                     <i>output</i>:size of produced data
-   * @param outputBlocks  list to receive output block descriptors
+   * @param [in] outputBlocks  list to receive output block descriptors
    * @return neg. error code if failed                                <br>
    *         -ENOSPC      output buffer too small
    */
@@ -97,6 +92,23 @@ class AliHLTProcessor : public AliHLTComponent {
    */
   virtual int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
 
-  ClassDef(AliHLTProcessor, 1)
+  // collection of debug counters
+  struct AliHLTProcessorCounters {
+    AliHLTProcessorCounters() : fReadoutFilter(0), fMonitoringFilter(0), fMonitoringEvent(0), fMismatch(0) {}
+    int fReadoutFilter;    // counter for the EDD readout filter
+    int fMonitoringFilter; // counter for the EDD monitoring filter
+    int fMonitoringEvent;  // counter for the EDD monitoring event
+    int fMismatch;         // counter for EDD format mismatch
+  };
+
+private:
+  /// copy contructor prohibited
+  AliHLTProcessor(const AliHLTProcessor&);
+  /// assignment operator prohibited
+  AliHLTProcessor& operator=(const AliHLTProcessor&);
+
+  AliHLTProcessorCounters* fpDebugCounters; // optional debugging counters
+
+  ClassDef(AliHLTProcessor, 2)
 };
 #endif