3 #ifndef ALIHLTDUMMYCOMPONENT_H
4 #define ALIHLTDUMMYCOMPONENT_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
8 /** @file AliHLTDummyComponent.h
9 @author Timm Steinbeck, Matthias Richter
11 @brief Declaration of a dummy component. */
14 #include "AliHLTProcessor.h"
17 * @class AliHLTDummyComponent
18 * @brief A dummy HLT processing component.
20 * An implementiation of a dummy component that just copies its input data
21 * as a test, demonstration, and example of the HLT component scheme.
22 * @ingroup alihlt_tutorial
24 class AliHLTDummyComponent : public AliHLTProcessor
27 AliHLTDummyComponent();
28 virtual ~AliHLTDummyComponent();
30 // Public functions to implement AliHLTComponent's interface.
31 // These functions are required for the registration process
33 const char* GetComponentID();
34 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
35 AliHLTComponentDataType GetOutputDataType();
36 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
37 AliHLTComponent* Spawn();
41 // Protected functions to implement AliHLTComponent's interface.
42 // These functions provide initialization as well as the actual processing
43 // capabilities of the component.
45 int DoInit( int argc, const char** argv );
47 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
48 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
49 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
53 // The size of the output data produced, as a percentage of the input data's size.
54 // Can be greater than 100 (%)
55 unsigned fOutputPercentage;
57 ClassDef(AliHLTDummyComponent, 0)