LCOV - code coverage report
Current view: top level - HLT/BASE/util - AliHLTObjectCompressionComponent.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 3 66.7 %
Date: 2016-06-14 17:26:59 Functions: 2 7 28.6 %

          Line data    Source code
       1             : // -*- Mode: C++ -*-
       2             : // $Id$
       3             : 
       4             : #ifndef ALIHLTOBJECTCOMPRESSIONCOMPONENT_H
       5             : #define ALIHLTOBJECTCOMPRESSIONCOMPONENT_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   AliHLTObjectCompressionComponent.h
      11             : /// @author Matthias Richter
      12             : /// @date   2010-11-09
      13             : /// @brief  
      14             : ///
      15             : 
      16             : #include "AliHLTProcessor.h"
      17             : 
      18             : /**
      19             :  * @class AliHLTObjectCompressionComponent
      20             :  * Component for compression of TObjects with a different compression level.
      21             :  * The level is adjusted by the common AliHLTComponent @ref alihlt_component_arguments.
      22             :  *
      23             :  * <h2>General properties:</h2>
      24             :  *
      25             :  * Component ID: \b TObjectCompressor                                       <br>
      26             :  * Library: \b libAliHLTUtil.so                                             <br>
      27             :  * Input Data Types: kAliHLTAnyDataType                                     <br>
      28             :  * Output Data Types: according to input blocks                             <br>
      29             :  *
      30             :  * <h2>Mandatory arguments:</h2>
      31             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      32             :  *      
      33             :  * <h2>Optional arguments:</h2>
      34             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      35             :  * \li -object-compression=level                                             <br>
      36             :  *      
      37             :  *
      38             :  * <h2>Configuration:</h2>
      39             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      40             :  * Configuration by component arguments.
      41             :  *
      42             :  * <h2>Default CDB entries:</h2>
      43             :  * The component loads no CDB entries.
      44             :  *
      45             :  * <h2>Performance:</h2>
      46             :  * Low profile: input objects are unpacked and binary copied, no streaming
      47             :  * of obejcts.
      48             :  *
      49             :  * <h2>Memory consnumption:</h2>
      50             :  * The component allocates memory of the maximum size for every input
      51             :  * object.
      52             :  *
      53             :  * <h2>Output size:</h2>
      54             :  * 
      55             :  * @ingroup alihlt_util_components
      56             :  */
      57             : class AliHLTObjectCompressionComponent : public AliHLTProcessor
      58             : {
      59             :  public:
      60             :   /// standard constructor
      61             :   AliHLTObjectCompressionComponent();
      62             :   /// destructor
      63             :   virtual ~AliHLTObjectCompressionComponent();
      64             : 
      65             :   /// inherited from AliHLTComponent, get component id
      66         576 :   virtual const char* GetComponentID() {return "TObjectCompressor";};
      67             : 
      68             :   /// inherited from AliHLTComponent, get the input data type
      69             :   void GetInputDataTypes( AliHLTComponentDataTypeList& );
      70             : 
      71             :   /// inherited from AliHLTComponent, get the output data type
      72             :   AliHLTComponentDataType GetOutputDataType();
      73             : 
      74             :   /// inherited from AliHLTComponent, get the output data size estimator
      75             :   void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
      76             : 
      77             :   /// inherited from AliHLTComponent, create a component
      78           0 :   virtual AliHLTComponent* Spawn() {return new AliHLTObjectCompressionComponent;}
      79             : 
      80             :  protected:
      81             : 
      82             :   /// inherited from AliHLTProcessor, data processing
      83             :   int DoEvent( const AliHLTComponentEventData& evtData,
      84             :                AliHLTComponentTriggerData& trigData );
      85             :   
      86             :   using AliHLTProcessor::DoEvent;
      87             : 
      88             :   /// inherited from AliHLTComponent, component initialisation
      89             :   int DoInit( int argc, const char** argv );
      90             : 
      91             :   /// inherited from AliHLTComponent, scan argument
      92             :   int ScanConfigurationArgument(int argc, const char** argv);
      93             : 
      94             :   /// inherited from AliHLTComponent, component cleanup.
      95             :   int DoDeinit();
      96             : 
      97             :  private:
      98             :   /// copy constructor prohibited
      99             :   AliHLTObjectCompressionComponent(const AliHLTObjectCompressionComponent&);
     100             :   /// assignment operator prohibited
     101             :   AliHLTObjectCompressionComponent& operator=(const AliHLTObjectCompressionComponent&);
     102             : 
     103           8 :   ClassDef(AliHLTObjectCompressionComponent, 0)
     104             : };
     105             : #endif

Generated by: LCOV version 1.11