documentation; deprecated defines deleted
[u/mrichter/AliRoot.git] / HLT / SampleLib / AliHLTSampleComponent1.h
1 // @(#) $Id$
2
3 #ifndef ALIHLTSAMPLECOMPONENT1_H
4 #define ALIHLTSAMPLECOMPONENT1_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 /** @file   AliHLTSampleComponent1.h
9     @author Matthias Richter, Timm Steinbeck
10     @date   
11     @brief  A sample processing component for the HLT. */
12
13 #include "AliHLTProcessor.h"
14
15 /**
16  * @class AliHLTSampleComponent1
17  * @brief An HLT sample component.
18  * This component does not any data processing at all. It just
19  * illustrates the existence of several components in ine library and
20  * allows to set up a very simple chain with different components.
21  * @ingroup alihlt_tutorial
22  */
23 class AliHLTSampleComponent1 : public AliHLTProcessor {
24 public:
25   AliHLTSampleComponent1();
26   virtual ~AliHLTSampleComponent1();
27
28   const char* GetComponentID() { return "Sample-component1";}
29   void GetInputDataTypes( vector<AliHLTComponentDataType>& list) {
30     const AliHLTComponentDataType* pType=fgInputDataTypes;
31     while (pType->fID!=0) {
32       list.push_back(*pType);
33       pType++;
34     }
35   }
36   AliHLTComponentDataType GetOutputDataType() {return kAliHLTVoidDataType;}
37   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ) {constBase = 0;inputMultiplier = 0;};
38
39   // Spawn function, return new class instance
40   AliHLTComponent* Spawn() {return new AliHLTSampleComponent1;};
41
42  protected:
43   
44   int DoInit( int argc, const char** argv );
45   int DoDeinit();
46   int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, 
47                        AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, 
48                        AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
49
50 private:
51   /** array of input data types */
52   static const AliHLTComponentDataType fgInputDataTypes[]; // see above
53
54   ClassDef(AliHLTSampleComponent1, 0)
55 };
56 #endif