]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/comp/AliHLTTPCCompModelDeconverterComponent.h
37e30286c0338357be5593669a88a85a4ed5bf4a
[u/mrichter/AliRoot.git] / HLT / TPCLib / comp / AliHLTTPCCompModelDeconverterComponent.h
1 // XEmacs -*-C++-*-
2 // $Id: AliHLTTPCCompModelDeconverterComponent.h,v 1.2 2006/08/10 09:46:51 richterm Exp $
3
4 #ifndef ALIHLTTPCCOMPMODELDECONVERTERCOMPONENT_H
5 #define ALIHLTTPCCOMPMODELDECONVERTERCOMPONENT_H
6 /* TPCCompModelDeconverterright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7  * See cxx source for full TPCCompModelDeconverterright notice                               */
8
9 /** @file   AliHLTTPCCompModelDeconverterComponent.h
10     @author Timm Steinbeck
11     @date   
12     @brief  Declaration of a copy component. */
13
14
15 #include "AliHLTProcessor.h"
16 #include "AliHLTTPCCompModelDeconverter.h"
17
18 /**
19  * @class AliHLTTPCCompModelDeconverterComponent
20  * @brief A dummy HLT processing component. 
21  *
22  * An implementiation of a copy component that just copies its input data
23  * to debug a components input data
24  * @ingroup alihlt_tutorial
25  */
26 class AliHLTTPCCompModelDeconverterComponent : public AliHLTProcessor
27     {
28     public:
29
30       /** standard constructor */
31       AliHLTTPCCompModelDeconverterComponent();
32       /** standard deconstructor */
33       virtual ~AliHLTTPCCompModelDeconverterComponent();
34       
35       // Public functions to implement AliHLTComponent's interface.
36       // These functions are required for the registration process
37       
38       /** function to get component id 
39        * @return const char* pointer to componentid
40        */
41       const char* GetComponentID();
42
43       /** function to get input data types
44        * @param list vecotr of AliHLTComponent_DataType
45        */ 
46       void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
47
48       /** function to get output data type
49        * @return AliHLTComponent_DataType
50        */
51       AliHLTComponent_DataType GetOutputDataType();
52
53       /** function to get output data size
54        * @param constBase address of an unsigned long
55        * @param inputMultiplier address of a double
56        */
57       virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
58
59       /** spawn function
60        * @return AliHLTComponent* pointer to instance
61        */
62       AliHLTComponent* Spawn();
63         
64     protected:
65         
66         // Protected functions to implement AliHLTComponent's interface.
67         // These functions provide initialization as well as the actual processing
68         // capabilities of the component. 
69       
70       /** initialisation function
71        * @param argc integer counting number of input arguments
72        * @param argv const char** for parameter values
73        * @return zero upon success
74        */
75       int DoInit( int argc, const char** argv );
76
77       /** deinitialisation function
78        * @return zero upon success
79        */
80       int DoDeinit();
81
82       /** do event function
83        * @param evt Data     const AliHLTComponent_EventData& to event data
84        * @param blocks       const AliHLTComponent_BlockData* to blocks of event data
85        * @param trigData     AliHLTComponent_TriggerData& of trigger data
86        * @param outputPtr    AliHLTUInt8_t* pointer to output data
87        * @param size         AliHLTUInt32_t& of output size
88        * @param outputBlocks vector<AliHLTComponent_BlockData>& of output block data
89        * @return zero upon success
90        */
91       int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, 
92                    AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, 
93                    AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
94       
95       /** member variable for instance of deconverter class */
96       AliHLTTPCCompModelDeconverter fDeconverter;
97       /** memeber varible for output tracks */
98       bool fOutputTracks;
99
100     private:
101
102         ClassDef(AliHLTTPCCompModelDeconverterComponent, 0)
103
104     };
105 #endif