4 #ifndef ALIHLTTPCCOMPMODELINFLATERCOMPONENT_H
5 #define ALIHLTTPCCOMPMODELINFLATERCOMPONENT_H
6 /* TPCCompModelInflaterright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full TPCCompModelInflaterright notice */
9 /** @file AliHLTTPCCompModelInflaterComponent.h
10 @author Timm Steinbeck
12 @brief Declaration of a copy component. */
15 #include "AliHLTProcessor.h"
16 #include "AliHLTTPCCompModelInflater.h"
17 #include "AliHLTTPCCompModelConverter.h"
20 * @class AliHLTTPCCompModelInflaterComponent
21 * @brief A dummy HLT processing component.
23 * An implementiation of a copy component that just copies its input data
24 * to debug a components input data
25 * @ingroup alihlt_tutorial
27 class AliHLTTPCCompModelInflaterComponent : public AliHLTProcessor
31 /** standard constructor */
32 AliHLTTPCCompModelInflaterComponent();
33 /** standard destructor */
34 virtual ~AliHLTTPCCompModelInflaterComponent();
36 // Public functions to implement AliHLTComponent's interface.
37 // These functions are required for the registration process
39 /** function to get component id
40 * @return const char* pointer to componentid
42 const char* GetComponentID();
44 /** function to get input data types
45 * @param list vecotr of AliHLTComponent_DataType
47 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
49 /** function to get output data type
50 * @return AliHLTComponent_DataType
52 AliHLTComponent_DataType GetOutputDataType();
54 /** function to get output data size
55 * @param constBase address of an unsigned long
56 * @param inputMultiplier address of a double
58 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
61 * @return AliHLTComponent* pointer to instance
63 AliHLTComponent* Spawn();
67 // Protected functions to implement AliHLTComponent's interface.
68 // These functions provide initialization as well as the actual processing
69 // capabilities of the component.
71 /** initialisation function
72 * @param argc integer counting number of input arguments
73 * @param argv const char** for parameter values
74 * @return zero upon success
76 int DoInit( int argc, const char** argv );
78 /** deinitialisation function
79 * @return zero upon success
84 * @param evtData const AliHLTComponent_EventData& to event data
85 * @param blocks const AliHLTComponent_BlockData* to blocks of event data
86 * @param trigData AliHLTComponent_TriggerData& of trigger data
87 * @param outputPtr AliHLTUInt8_t* pointer to output data
88 * @param size AliHLTUInt32_t& of output size
89 * @param outputBlocks vector<AliHLTComponent_BlockData>& of output block data
90 * @return zero upon success
92 int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
93 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
94 AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
96 /** member variable for instance of model inflater class */
97 AliHLTTPCCompModelInflater fModelInflater;
101 ClassDef(AliHLTTPCCompModelInflaterComponent, 0)