bd856827323e9c36ee43e05159c714c1827491f0
[u/mrichter/AliRoot.git] / HLT / SampleLib / AliHLTDummyComponent.h
1 // XEMacs -*-C++-*-
2 // @(#) $Id$
3
4 #ifndef ALIHLTDUMMYCOMPONENT_H
5 #define ALIHLTDUMMYCOMPONENT_H
6 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7  * See cxx source for full Copyright notice                               */
8
9 /* AliHLTDummyComponent
10 ** An implementiation of a dummy component that just copies its input data
11 ** as a test, demonstration, and example of the new HLT component system.
12  */
13
14 #include "AliHLTProcessor.h"
15
16 class AliHLTDummyComponent : public AliHLTProcessor
17     {
18     public:
19         AliHLTDummyComponent();
20         virtual ~AliHLTDummyComponent();
21
22         // Public functions to implement AliHLTComponent's interface.
23         // These functions are required for the registration process
24
25         const char* GetComponentID();
26         void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
27         AliHLTComponent_DataType GetOutputDataType();
28         virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
29         AliHLTComponent* Spawn();
30         
31     protected:
32         
33         // Protected functions to implement AliHLTComponent's interface.
34         // These functions provide initialization as well as the actual processing
35         // capabilities of the component. 
36
37         int DoInit( int argc, const char** argv );
38         int DoDeinit();
39         int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, 
40                      AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, 
41                      AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
42         
43     private:
44
45         // The size of the output data produced, as a percentage of the input data's size.
46         // Can be greater than 100 (%)
47         unsigned fOutputPercentage;
48         
49         ClassDef(AliHLTDummyComponent, 0)
50
51     };
52 #endif