LCOV - code coverage report
Current view: top level - HLT/BASE - AliHLTDataSource.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 ALIHLTDATASOURCE_H
       5             : #define ALIHLTDATASOURCE_H
       6             : ///* This file is property of and copyright by the                          * 
       7             : ///* ALICE Experiment at CERN, All rights reserved.                         *
       8             : ///* See cxx source for full Copyright notice                               *
       9             : 
      10             : /// @file   AliHLTDataSource.h
      11             : /// @author Matthias Richter
      12             : /// @date   
      13             : /// @brief  Base class declaration for HLT data source components.
      14             : /// @note   The class is used in Offline (AliRoot) context
      15             : ///
      16             : 
      17             : #include "AliHLTComponent.h"
      18             : 
      19             : /**
      20             :  * @class AliHLTDataSource
      21             :  * Base class of HLT data source components.
      22             :  * The class provides a common interface for the implementation of HLT data
      23             :  * source components. The child class must implement the functions:
      24             :  * - @ref DoInit (optional)
      25             :  * - @ref DoDeinit (optional)
      26             :  * - @ref GetEvent
      27             :  * - @ref GetComponentID
      28             :  * - @ref GetOutputDataType
      29             :  * - @ref GetOutputDataSize
      30             :  * - @ref Spawn
      31             :  *
      32             :  * @ingroup alihlt_component
      33             :  */
      34             : class AliHLTDataSource : public AliHLTComponent {
      35             :  public:
      36             :   /** standard constructor */
      37             :   AliHLTDataSource();
      38             :   /** standard destructor */
      39             :   virtual ~AliHLTDataSource();
      40             : 
      41             :   /**
      42             :    * Event processing function.
      43             :    * The method is called by the framework to process one event. After 
      44             :    * preparation of data structures. The call is redirected to GetEvent.
      45             :    * @return neg. error code if failed                                <br>
      46             :    *         -ENOSPC      output buffer too small
      47             :    */
      48             :   int DoProcessing( const AliHLTComponentEventData& evtData,
      49             :                     const AliHLTComponentBlockData* blocks, 
      50             :                     AliHLTComponentTriggerData& trigData,
      51             :                     AliHLTUInt8_t* outputPtr, 
      52             :                     AliHLTUInt32_t& size,
      53             :                     AliHLTComponentBlockDataList& outputBlocks,
      54             :                     AliHLTComponentEventDoneData*& edd );
      55             : 
      56             :   // Information member functions for registration.
      57             : 
      58             :   /**
      59             :    * Return @ref AliHLTComponent::kSource type as component type.
      60             :    * @return component type id
      61             :    */
      62           0 :   TComponentType GetComponentType() { return AliHLTComponent::kSource;}
      63             : 
      64             :   /**
      65             :    * Default implementation for all data sources.
      66             :    * There are no input data types.
      67             :    */
      68             :   void GetInputDataTypes( AliHLTComponentDataTypeList& list);
      69             : 
      70             : protected:
      71             : 
      72             :   /**
      73             :    * The low-level data processing method for the component.
      74             :    * This is the custom processing method and can be overloaded by 
      75             :    * the component.
      76             :    * @param [in] evtData       event data structure
      77             :    * @param [in] trigData         trigger data structure
      78             :    * @param [in] outputPtr        pointer to target buffer
      79             :    * @param [in,out] size         <i>input</i>: size of target buffer
      80             :    *                      <i>output</i>:size of produced data
      81             :    * @param [in] outputBlocks  list to receive output block descriptors
      82             :    * @return neg. error code if failed
      83             :    */
      84             :   virtual int GetEvent( const AliHLTComponentEventData& evtData,
      85             :                 AliHLTComponentTriggerData& trigData,
      86             :                 AliHLTUInt8_t* outputPtr, 
      87             :                 AliHLTUInt32_t& size,
      88             :                 AliHLTComponentBlockDataList& outputBlocks );
      89             : 
      90             :   /**
      91             :    * The high-level data processing method.
      92             :    * This is the default processing method; the method is called
      93             :    * if no low level @ref GetEvent method is overloaded by the component.
      94             :    * @param evtData       event data structure
      95             :    * @param trigData      trigger data structure
      96             :    * @return neg. error code if failed
      97             :    */
      98             :   virtual int GetEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
      99             : 
     100             : private:
     101             : 
     102         126 :   ClassDef(AliHLTDataSource, 3)
     103             : };
     104             : #endif

Generated by: LCOV version 1.11