LCOV - code coverage report
Current view: top level - HLT/BASE - AliHLTDumpTask.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 1 100.0 %
Date: 2016-06-14 17:26:59 Functions: 1 8 12.5 %

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id$
       3             : #ifndef ALIHLTDUMPTASK_H
       4             : #define ALIHLTDUMPTASK_H
       5             : //* This file is property of and copyright by the ALICE HLT Project        * 
       6             : //* ALICE Experiment at CERN, All rights reserved.                         *
       7             : //* See cxx source for full Copyright notice                               *
       8             : 
       9             : /** @file   AliHLTDumpTask.h
      10             :     @author Matthias Richter
      11             :     @date   
      12             :     @brief  Base class for data sinks with direct buffer access.
      13             : */
      14             : 
      15             : #include "AliHLTOUT.h"
      16             : #include "AliHLTTask.h"
      17             : 
      18             : /**
      19             :  * @class AliHLTDumpTask
      20             :  * A base class for data sinks without a processing component. Tasks of this
      21             :  * type can be added at the end of the processing chain and allow direct
      22             :  * access to the data blocks produced by the last components of the chain.
      23             :  * 
      24             :  * The constructor takes the chains as a blank separated list of chain ids.
      25             :  *
      26             :  * @ingroup alihlt_system
      27             :  */
      28             : class AliHLTDumpTask : public AliHLTTask {
      29             :  public:
      30             :   /** constructor */
      31             :   AliHLTDumpTask(const char* chains=NULL);
      32             :   /** standard destructor */
      33             :   virtual ~AliHLTDumpTask();
      34             : 
      35             :   /**
      36             :    * Set the parent reconstruction chains this task is going to subscribe to.
      37             :    * @param chains    blank separated list of chain ids
      38             :    */
      39             :   int SetChains(const char* chains);
      40             : 
      41             :   /**
      42             :    * Get string of the source chains.
      43             :    */
      44             :   const char* GetSourceChains() const;
      45             : 
      46             :   /**
      47             :    * Get the list of data blocks.
      48             :    * Subscribe to the publishers if not yet done and return pointer
      49             :    * to block list.
      50             :    */
      51             :   const AliHLTComponentBlockDataList& GetDataBlocks();
      52             : 
      53             :   /**
      54             :    * Explicitly release data blocks.
      55             :    */
      56             :   int ReleaseDataBlocks();
      57             : 
      58             :  protected:
      59             : 
      60             :  private:
      61             :   /** copy constructor prohibited */
      62             :   AliHLTDumpTask(const AliHLTDumpTask&);
      63             :   /** assignment operator prohibited */
      64             :   AliHLTDumpTask& operator=(const AliHLTDumpTask&);
      65             : 
      66             :   /**
      67             :    * Custom initialization for child tasks.
      68             :    * Create and init the dummy task.
      69             :    */
      70             :   int CustomInit(AliHLTComponentHandler* pCH);
      71             : 
      72             :   /**
      73             :    * Custom clean up for child tasks.
      74             :    */
      75             :   int CustomCleanup();
      76             : 
      77             :   /** a dummy task to pretend existence of a consumer */
      78             :   AliHLTTask* fpDummyTask; //!transient
      79             : 
      80             :   /** the configuration for the dummy task */
      81             :   AliHLTConfiguration* fpDummyConfiguration; //!transient
      82             : 
      83             :   /** list of block descriptors of the output */
      84             :   AliHLTComponentBlockDataList fBlocks;
      85             : 
      86         126 :   ClassDef(AliHLTDumpTask, 0)
      87             : };
      88             : #endif

Generated by: LCOV version 1.11