]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/comp/AliHLTTPCCompModelInflaterComponent.h
bbba0af9b846fb52b8966f6f0a6583f25d9f74b2
[u/mrichter/AliRoot.git] / HLT / TPCLib / comp / AliHLTTPCCompModelInflaterComponent.h
1 // XEmacs -*-C++-*-
2 // $Id$
3
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                               */
8
9 /** @file   AliHLTTPCCompModelInflaterComponent.h
10     @author Timm Steinbeck
11     @date   
12     @brief  Declaration of a copy component. */
13
14
15 #include "AliHLTProcessor.h"
16 #include "AliHLTTPCCompModelInflater.h"
17 #include "AliHLTTPCCompModelConverter.h"
18
19 /**
20  * @class AliHLTTPCCompModelInflaterComponent
21  * @brief A dummy HLT processing component. 
22  *
23  * An implementiation of a copy component that just copies its input data
24  * to debug a components input data
25  * @ingroup alihlt_tutorial
26  */
27 class AliHLTTPCCompModelInflaterComponent : public AliHLTProcessor
28     {
29     public:
30
31       /** standard constructor */
32       AliHLTTPCCompModelInflaterComponent();
33       /** standard destructor */
34       virtual ~AliHLTTPCCompModelInflaterComponent();
35       
36       // Public functions to implement AliHLTComponent's interface.
37       // These functions are required for the registration process
38        
39       /** function to get component id 
40        * @return const char* pointer to componentid
41        */
42       const char* GetComponentID();
43
44       /** function to get input data types
45        * @param list vecotr of AliHLTComponent_DataType
46        */
47       void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
48
49       /** function to get output data type
50        * @return AliHLTComponent_DataType
51        */
52       AliHLTComponent_DataType GetOutputDataType();
53
54       /** function to get output data size
55        * @param constBase address of an unsigned long
56        * @param inputMultiplier address of a double
57        */
58       virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
59
60       /** spawn function
61        * @return AliHLTComponent* pointer to instance
62        */
63       AliHLTComponent* Spawn();
64         
65     protected:
66         
67         // Protected functions to implement AliHLTComponent's interface.
68         // These functions provide initialization as well as the actual processing
69         // capabilities of the component. 
70
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
75        */
76       int DoInit( int argc, const char** argv );
77
78       /** deinitialisation function
79        * @return zero upon success
80        */
81       int DoDeinit();
82
83       /** do event function
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
91        */
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 );
95       
96       /** member variable for instance of model inflater class */
97       AliHLTTPCCompModelInflater fModelInflater;
98       
99     private:
100
101         ClassDef(AliHLTTPCCompModelInflaterComponent, 0)
102
103     };
104 #endif