]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/comp/AliHLTTPCCompModelInflaterComponent.h
coding conventions and compilation warnings and work on adaptive TPC data compression...
[u/mrichter/AliRoot.git] / HLT / TPCLib / comp / AliHLTTPCCompModelInflaterComponent.h
CommitLineData
ff2f0f94 1// XEmacs -*-C++-*-
7e914051 2// $Id$
ff2f0f94 3
4#ifndef ALIHLTTPCCOMPMODELINFLATERCOMPONENT_H
5#define ALIHLTTPCCOMPMODELINFLATERCOMPONENT_H
892210c7 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 *
ff2f0f94 9
10/** @file AliHLTTPCCompModelInflaterComponent.h
11 @author Timm Steinbeck
12 @date
13 @brief Declaration of a copy component. */
14
15
16#include "AliHLTProcessor.h"
17#include "AliHLTTPCCompModelInflater.h"
18#include "AliHLTTPCCompModelConverter.h"
19
20/**
21 * @class AliHLTTPCCompModelInflaterComponent
22 * @brief A dummy HLT processing component.
23 *
892210c7 24 * An implementiation of an inflater component
25 * to process the inflation after the
26 * Vestbo compression which is then followed by the
27 * deconversion component to retrieve the original
28 * standard cluster track format of the input data
29 * @ingroup alihlt_tpc
ff2f0f94 30 */
31class AliHLTTPCCompModelInflaterComponent : public AliHLTProcessor
32 {
33 public:
34
35 /** standard constructor */
36 AliHLTTPCCompModelInflaterComponent();
37 /** standard destructor */
38 virtual ~AliHLTTPCCompModelInflaterComponent();
39
40 // Public functions to implement AliHLTComponent's interface.
41 // These functions are required for the registration process
42
43 /** function to get component id
44 * @return const char* pointer to componentid
45 */
46 const char* GetComponentID();
47
48 /** function to get input data types
49 * @param list vecotr of AliHLTComponent_DataType
50 */
51 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
52
53 /** function to get output data type
54 * @return AliHLTComponent_DataType
55 */
56 AliHLTComponent_DataType GetOutputDataType();
57
58 /** function to get output data size
59 * @param constBase address of an unsigned long
60 * @param inputMultiplier address of a double
61 */
62 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
63
64 /** spawn function
65 * @return AliHLTComponent* pointer to instance
66 */
67 AliHLTComponent* Spawn();
68
69 protected:
70
71 // Protected functions to implement AliHLTComponent's interface.
72 // These functions provide initialization as well as the actual processing
73 // capabilities of the component.
74
75 /** initialisation function
76 * @param argc integer counting number of input arguments
77 * @param argv const char** for parameter values
78 * @return zero upon success
79 */
80 int DoInit( int argc, const char** argv );
81
82 /** deinitialisation function
83 * @return zero upon success
84 */
85 int DoDeinit();
86
87 /** do event function
7e914051 88 * @param evtData const AliHLTComponent_EventData& to event data
ff2f0f94 89 * @param blocks const AliHLTComponent_BlockData* to blocks of event data
90 * @param trigData AliHLTComponent_TriggerData& of trigger data
91 * @param outputPtr AliHLTUInt8_t* pointer to output data
92 * @param size AliHLTUInt32_t& of output size
93 * @param outputBlocks vector<AliHLTComponent_BlockData>& of output block data
94 * @return zero upon success
95 */
96 int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
97 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
98 AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
99
100 /** member variable for instance of model inflater class */
892210c7 101 AliHLTTPCCompModelInflater fModelInflater; // member variable for instance of model inflater class
ff2f0f94 102
103 private:
104
105 ClassDef(AliHLTTPCCompModelInflaterComponent, 0)
106
107 };
108#endif