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