LCOV - code coverage report
Current view: top level - HLT/TPCLib/comp - AliHLTTPCDataCompressionFilterComponent.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 1 100.0 %
Date: 2016-06-14 17:26:59 Functions: 1 5 20.0 %

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id$
       3             : #ifndef ALIHLTTPCDATACOMPRESSIONFILTERCOMPONENT_H
       4             : #define ALIHLTTPCDATACOMPRESSIONFILTERCOMPONENT_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   AliHLTTPCDataCompressionFilterComponent.h
      10             : /// @author Matthias Richter
      11             : /// @date   2011-11-18
      12             : /// @brief  TPC component to filter compressed cluster data blocks from 
      13             : ///         HLTOUT and in the chain.
      14             : 
      15             : #include "AliHLTProcessor.h"
      16             : #include <map>
      17             : 
      18             : /**
      19             :  * @class AliHLTTPCDataCompressionFilterComponent
      20             :  * This component can filter data compressed cluster data blocks from two
      21             :  * sources:
      22             :  * - HLTOUT
      23             :  * - parent in the chain
      24             :  *
      25             :  * It is used in an emulation chain which produces all compressed cluster
      26             :  * blocks which are missing in HLTOUT. If TPC reconstruction requires HLT
      27             :  * clusters, the emulator is automatically executed and the compressed
      28             :  * data produced if raw data is available.
      29             :  *
      30             :  * <h2>General properties:</h2>
      31             :  *
      32             :  * Component ID: \b TPCDataCompressorFilter      <br>
      33             :  * Library: \b libAliHLTTPC.so     <br>
      34             :  * Input Data Types:  <br>
      35             :  * Output Data Types: <br>
      36             :  *
      37             :  * <h2>Mandatory arguments:</h2>
      38             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      39             :  *
      40             :  * <h2>Optional arguments:</h2>
      41             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      42             : 
      43             :  * <h2>Configuration:</h2>
      44             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      45             :  *
      46             :  * <h2>Default CDB entries:</h2>
      47             :  *
      48             :  * <h2>Performance:</h2>
      49             :  *
      50             :  * <h2>Memory consumption:</h2>
      51             :  *
      52             :  * <h2>Output size:</h2>
      53             :  *
      54             :  *
      55             :  * @ingroup alihlt_tpc
      56             :  */
      57             : class AliHLTTPCDataCompressionFilterComponent : public AliHLTProcessor {
      58             : public:
      59             :   /// standard constructor
      60             :   AliHLTTPCDataCompressionFilterComponent();
      61             :   /// destructor
      62             :   ~AliHLTTPCDataCompressionFilterComponent();
      63             : 
      64             :   /// inherited from AliHLTComponent: id of the component
      65             :   virtual const char* GetComponentID();
      66             : 
      67             :   /// inherited from AliHLTComponent: list of data types in the vector reference
      68             :   void GetInputDataTypes( AliHLTComponentDataTypeList& );
      69             : 
      70             :   /// inherited from AliHLTComponent: output data type of the component.
      71             :   AliHLTComponentDataType GetOutputDataType();
      72             : 
      73             :   /// inherited from AliHLTComponent: multiple output data types of the component.
      74             :   int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
      75             : 
      76             :   /// inherited from AliHLTComponent: output data size estimator
      77             :   void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
      78             : 
      79             :   /// inherited from AliHLTComponent: spawn function.
      80             :   virtual AliHLTComponent* Spawn();
      81             : 
      82             : protected:
      83             :   /// inherited from AliHLTProcessor: data processing
      84             :   int DoEvent( const AliHLTComponentEventData& evtData, 
      85             :                AliHLTComponentTriggerData& trigData);
      86             :   using AliHLTProcessor::DoEvent;
      87             : 
      88             :   /// inherited from AliHLTComponent: component initialisation and argument scan.
      89             :   int DoInit( int argc, const char** argv );
      90             : 
      91             :   /// inherited from AliHLTComponent: component cleanup
      92             :   int DoDeinit();
      93             : 
      94             :   /// inherited from AliHLTComponent: argument scan
      95             :   int ScanConfigurationArgument(int argc, const char** argv);
      96             : 
      97             :   /// check the HLTOUT for availability of compressed data blocks
      98             :   int InitMapFromHLTOUT(std::map<AliHLTUInt32_t, bool>& hltoutmap);
      99             : 
     100             : private:
     101             :   AliHLTTPCDataCompressionFilterComponent(const AliHLTTPCDataCompressionFilterComponent&);
     102             :   AliHLTTPCDataCompressionFilterComponent& operator=(const AliHLTTPCDataCompressionFilterComponent&);
     103             : 
     104           6 :   ClassDef(AliHLTTPCDataCompressionFilterComponent, 0)
     105             : };
     106             : 
     107             : #endif //ALIHLTTPCDATACOMPRESSIONFILTERCOMPONENT_H

Generated by: LCOV version 1.11