4 #ifndef ALIHLTTPCCOMPMODELDECONVERTERCOMPONENT_H
5 #define ALIHLTTPCCOMPMODELDECONVERTERCOMPONENT_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 *
10 /** @file AliHLTTPCCompModelDeconverterComponent.h
11 @author Timm Steinbeck
13 @brief Declaration of a copy component. */
16 #include "AliHLTProcessor.h"
17 #include "AliHLTTPCCompModelDeconverter.h"
20 * @class AliHLTTPCCompModelDeconverterComponent
21 * @brief A dummy HLT processing component.
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
30 class AliHLTTPCCompModelDeconverterComponent : public AliHLTProcessor
34 /** standard constructor */
35 AliHLTTPCCompModelDeconverterComponent();
36 /** standard deconstructor */
37 virtual ~AliHLTTPCCompModelDeconverterComponent();
39 // Public functions to implement AliHLTComponent's interface.
40 // These functions are required for the registration process
42 /** function to get component id
43 * @return const char* pointer to componentid
45 const char* GetComponentID();
47 /** function to get input data types
48 * @param list vecotr of AliHLTComponent_DataType
50 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
52 /** function to get output data type
53 * @return AliHLTComponent_DataType
55 AliHLTComponent_DataType GetOutputDataType();
57 /** function to get output data size
58 * @param constBase address of an unsigned long
59 * @param inputMultiplier address of a double
61 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
64 * @return AliHLTComponent* pointer to instance
66 AliHLTComponent* Spawn();
70 // Protected functions to implement AliHLTComponent's interface.
71 // These functions provide initialization as well as the actual processing
72 // capabilities of the component.
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
79 int DoInit( int argc, const char** argv );
81 /** deinitialisation function
82 * @return zero upon success
87 * @param evtData const AliHLTComponent_EventData& to event data
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
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 );
99 /** member variable for instance of deconverter class */
100 AliHLTTPCCompModelDeconverter fDeconverter; // member variable for instance of deconverter class
101 /** memeber varible for output tracks */
102 bool fOutputTracks; // memeber varible for output track
106 ClassDef(AliHLTTPCCompModelDeconverterComponent, 0)