]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/SampleLib/AliHLTSampleComponent2.h
- check for AliRoot features/libs/files and corresponding conditional
[u/mrichter/AliRoot.git] / HLT / SampleLib / AliHLTSampleComponent2.h
1 // @(#) $Id$
2
3 #ifndef ALIHLTSAMPLECOMPONENT2_H
4 #define ALIHLTSAMPLECOMPONENT2_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 /** @file   AliHLTSampleComponent2.h
9     @author Matthias Richter, Timm Steinbeck
10     @date   
11     @brief  Another sample processing component for the HLT. */
12
13 #include "AliHLTProcessor.h"
14
15 /**
16  * @class AliHLTSampleComponent2
17  * @brief An HLT sample component
18  * @ingroup alihlt_tutorial
19  */
20 class AliHLTSampleComponent2 : public AliHLTProcessor {
21 public:
22   AliHLTSampleComponent2();
23   virtual ~AliHLTSampleComponent2();
24
25   const char* GetComponentID() { return "Sample-component2";}
26   void GetInputDataTypes( vector<AliHLTComponent_DataType>& list) {
27     const AliHLTComponent_DataType* pType=inputDataTypes;
28     while (pType->fID!=0) {
29       list.push_back(*pType);
30       pType++;
31     }
32   }
33   AliHLTComponent_DataType GetOutputDataType() {return outputDataType;}
34   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ) {constBase = 0;inputMultiplier = 0;};
35
36   // Spawn function, return new class instance
37   AliHLTComponent* Spawn() {return new AliHLTSampleComponent2;};
38
39  protected:
40   
41   int DoInit( int argc, const char** argv );
42   int DoDeinit();
43   int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, 
44                        AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, 
45                        AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
46
47 private:
48   static const AliHLTComponent_DataType inputDataTypes[];
49   static const AliHLTComponent_DataType outputDataType;
50
51   ClassDef(AliHLTSampleComponent2, 0)
52 };
53 #endif