LCOV - code coverage report
Current view: top level - HLT/BASE - AliHLTDataSink.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 2 50.0 %
Date: 2016-06-14 17:26:59 Functions: 1 6 16.7 %

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id$
       3             : 
       4             : #ifndef ALIHLTDATASINK_H
       5             : #define ALIHLTDATASINK_H
       6             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       7             :  * See cxx source for full Copyright notice                               */
       8             : 
       9             : /// @file   AliHLTDataSink.h
      10             : /// @author Matthias Richter
      11             : /// @date   
      12             : /// @brief  Base class declaration for HLT data sink components.
      13             : /// @note   The class is used in Offline (AliRoot) context
      14             : ///
      15             : 
      16             : #include "AliHLTComponent.h"
      17             : 
      18             : /**
      19             :  * @class AliHLTDataSink
      20             :  * Base class of HLT data sink components.
      21             :  * The class provides a common interface for the implementation of HLT data
      22             :  * sink components. The child class must implement the functions:
      23             :  * - @ref DoInit (optional)
      24             :  * - @ref DoDeinit (optional)
      25             :  * - @ref DumpEvent
      26             :  * - @ref GetComponentID
      27             :  * - @ref GetInputDataTypes
      28             :  * - @ref Spawn
      29             :  *
      30             :  * @ingroup alihlt_component
      31             :  */
      32             : class AliHLTDataSink : public AliHLTComponent {
      33             :  public:
      34             :   /** standard constructor */
      35             :   AliHLTDataSink();
      36             :   /** standard destructor */
      37             :   virtual ~AliHLTDataSink();
      38             : 
      39             :   /**
      40             :    * Event processing function.
      41             :    * The method is called by the framework to process one event. After 
      42             :    * preparation of data structures. The call is redirected to DumpEvent.
      43             :    * @return neg. error code if failed
      44             :    */
      45             :   int DoProcessing( const AliHLTComponentEventData& evtData,
      46             :                     const AliHLTComponentBlockData* blocks, 
      47             :                     AliHLTComponentTriggerData& trigData,
      48             :                     AliHLTUInt8_t* outputPtr, 
      49             :                     AliHLTUInt32_t& size,
      50             :                     AliHLTComponentBlockDataList& outputBlocks,
      51             :                     AliHLTComponentEventDoneData*& edd );
      52             : 
      53             :   // Information member functions for registration.
      54             : 
      55             :   /**
      56             :    * Return @ref AliHLTComponent::kSink type as component type.
      57             :    * @return component type id
      58             :    */
      59           0 :   TComponentType GetComponentType() { return AliHLTComponent::kSink;}
      60             : 
      61             :   /**
      62             :    * Default implementation for all data sinks.
      63             :    * There are no output data types.
      64             :    */
      65             :   AliHLTComponentDataType GetOutputDataType();
      66             : 
      67             :   /**
      68             :    * Default implementation for all data sinks.
      69             :    * There is no output data.
      70             :    */
      71             :   void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
      72             : 
      73             :  protected:
      74             : 
      75             :   /**
      76             :    * The low-level data processing method for the component.
      77             :    * This is the custom processing method and can be overloaded by 
      78             :    * the component.
      79             :    * @param evtData       event data structure
      80             :    * @param blocks        input data block descriptors
      81             :    * @param trigData      trigger data structure
      82             :    */
      83             :   virtual int DumpEvent( const AliHLTComponentEventData& evtData,
      84             :                  const AliHLTComponentBlockData* blocks, 
      85             :                  AliHLTComponentTriggerData& trigData );
      86             : 
      87             :   /**
      88             :    * The high-level data processing method.
      89             :    * This is the default processing method; the method is called
      90             :    * if no low level @ref DumpEvent method is overloaded by the component.
      91             :    * @param evtData       event data structure
      92             :    * @param trigData      trigger data structure
      93             :    */
      94             :   virtual int DumpEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
      95             : 
      96             : 
      97         126 :   ClassDef(AliHLTDataSink, 1)
      98             : };
      99             : #endif

Generated by: LCOV version 1.11