//-*- 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"
* 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
*/
*/
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