LCOV - code coverage report
Current view: top level - HLT/RCU - AliHLTAltroTimebinAverageComponent.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             : 
       4             : #ifndef ALIHLTALTROTIMEBINAVERAGECOMPONENT_H
       5             : #define ALIHLTALTROTIMEBINAVERAGECOMPONENT_H
       6             : //* This file is property of and copyright by the ALICE HLT Project        * 
       7             : //* ALICE Experiment at CERN, All rights reserved.                         *
       8             : //* See cxx source for full Copyright notice                               *
       9             : 
      10             : /** @file   AliHLTAltroTimebinAverageComponent.h
      11             :     @author Kalliopi Kanaki, Oystein Djuvsland, Matthias Richter
      12             :     @date   
      13             :     @brief  
      14             : */
      15             : 
      16             : #include "AliHLTProcessor.h"
      17             : 
      18             : /**
      19             :  * @class AliHLTAltroTimebin Averager Component
      20             :  * The component reduces the RCU/ALTRO raw data by averaging adjacent
      21             :  * timebins. By default, two timebins are averaged.
      22             :  *
      23             :  * @ingroup alihlt_rcu
      24             :  */
      25             : class AliHLTAltroTimebinAverageComponent : public AliHLTProcessor {
      26             :  public:
      27             :   /** default constructor */
      28             :   AliHLTAltroTimebinAverageComponent();
      29             :   /** destructor */
      30             :   virtual ~AliHLTAltroTimebinAverageComponent();
      31             : 
      32             :   /**
      33             :    * The id of the component.
      34             :    * @return component id (string)
      35             :    */
      36             :   virtual const char* GetComponentID();
      37             : 
      38             :   /**
      39             :    * Get the input data types of the component.
      40             :    * @return list of data types in the vector reference
      41             :    */
      42             :   void GetInputDataTypes( AliHLTComponentDataTypeList& );
      43             : 
      44             :   /**
      45             :    * Get the output data type of the component.
      46             :    * If kAliHLTMultipleDataType is returned, the framework invokes
      47             :    * @ref GetOutputDataTypes.
      48             :    * @return output data type
      49             :    */
      50             :   AliHLTComponentDataType GetOutputDataType();
      51             : 
      52             :   /**
      53             :    * Get the output data types of the component.
      54             :    * The function can be implemented to indicate multiple output data types
      55             :    * in the target array.
      56             :    * @ref GetOutputDataType must return kAliHLTMultipleDataType in order
      57             :    * to invoke this method.
      58             :    * @param tgtList          list to receive the data types
      59             :    * @return no of output data types, data types in the target list
      60             :    */
      61             :   int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
      62             : 
      63             :   /**
      64             :    * Get a ratio by how much the data volume is shrinked or enhanced.
      65             :    * @param constBase        <i>return</i>: additive part, independent of the
      66             :    *                                   input data volume  
      67             :    * @param inputMultiplier  <i>return</i>: multiplication ratio
      68             :    * @return values in the reference variables
      69             :    */
      70             :   void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
      71             : 
      72             :   /**
      73             :    * Spawn function.
      74             :    * @return new class instance
      75             :    */
      76             :   virtual AliHLTComponent* Spawn();
      77             : 
      78             :  protected:
      79             : 
      80             :   /**
      81             :    * Data processing method for the component.
      82             :    * Filters the incoming data descriptors according to the rules and forwards
      83             :    * them into the output.
      84             :    * @return neg. error code if failed 
      85             :    */
      86             :   int DoEvent( const AliHLTComponentEventData& evtData,
      87             :                const AliHLTComponentBlockData* blocks, 
      88             :                AliHLTComponentTriggerData& trigData,
      89             :                AliHLTUInt8_t* outputPtr, 
      90             :                AliHLTUInt32_t& size,
      91             :                AliHLTComponentBlockDataList& outputBlocks );
      92             :   
      93             :   using AliHLTProcessor::DoEvent;
      94             : 
      95             :   /**
      96             :    * Component initialisation and argument scan.
      97             :    */
      98             :   int DoInit( int argc, const char** argv );
      99             : 
     100             :   /**
     101             :    * Component cleanup.
     102             :    */
     103             :   int DoDeinit();
     104             : 
     105             :  private:
     106             :   /** copy constructor prohibited */
     107             :   AliHLTAltroTimebinAverageComponent(const AliHLTAltroTimebinAverageComponent&);
     108             :   /** assignment operator prohibited */
     109             :   AliHLTAltroTimebinAverageComponent& operator=(const AliHLTAltroTimebinAverageComponent&);
     110             : 
     111             :   /** First timebin to include in zerosuppression */
     112             :   Int_t fStartTimeBin;                                             //! transient
     113             : 
     114             :   /** Lasr timebin to include in zerosuppression */
     115             :   Int_t fEndTimeBin;                                               //! transient
     116             : 
     117             :   /** Number of timebins */
     118             :   Int_t fNTimeBins;                                                //! transient
     119             : 
     120           6 :   ClassDef(AliHLTAltroTimebinAverageComponent, 0);
     121             : };
     122             : 
     123             : #endif

Generated by: LCOV version 1.11