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 */
8 /** @file AliHLTSampleComponent2.h
9 @author Matthias Richter, Timm Steinbeck
11 @brief Another sample processing component for the HLT. */
13 #include "AliHLTProcessor.h"
16 * @class AliHLTSampleComponent2
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
23 class AliHLTSampleComponent2 : public AliHLTProcessor {
25 AliHLTSampleComponent2();
26 virtual ~AliHLTSampleComponent2();
28 const char* GetComponentID() { return "Sample-component2";}
29 void GetInputDataTypes( vector<AliHLTComponentDataType>& list) {
30 const AliHLTComponentDataType* pType=fgInputDataTypes;
31 while (pType->fID!=0) {
32 list.push_back(*pType);
36 AliHLTComponentDataType GetOutputDataType() {return kAliHLTVoidDataType;}
37 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ) {constBase = 0;inputMultiplier = 0;};
39 // Spawn function, return new class instance
40 AliHLTComponent* Spawn() {return new AliHLTSampleComponent2;};
44 int DoInit( int argc, const char** argv );
46 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
47 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
48 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
51 /** array of input data types */
52 static const AliHLTComponentDataType fgInputDataTypes[]; // see above
54 ClassDef(AliHLTSampleComponent2, 0)