3 #ifndef ALIHLTTRDCLUSTERIZERCOMPONENTV2_H
4 #define ALIHLTTRDCLUSTERIZERCOMPONENTV2_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
8 /** @file AliHLTTRDClusterizerComponentV2.h
9 @author Timm Steinbeck, Matthias Richter
11 @brief Declaration of a TRDClusterizer component. */
14 #include "AliHLTProcessor.h"
16 class AliTRDclusterizerV2HLT;
17 class AliRawReaderMemory;
20 * @class AliHLTTRDClusterizerComponentV2
21 * @brief A TRDClusterizer HLT processing component.
23 * An implementiation of a TRDClusterizer component that just copies its input data
24 * as a test, demonstration, and example of the HLT component scheme.
25 * @ingroup alihlt_tutorial
27 class AliHLTTRDClusterizerComponentV2 : public AliHLTProcessor
30 AliHLTTRDClusterizerComponentV2();
31 virtual ~AliHLTTRDClusterizerComponentV2();
33 // Public functions to implement AliHLTComponent's interface.
34 // These functions are required for the registration process
36 const char* GetComponentID();
37 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
38 AliHLTComponent_DataType GetOutputDataType();
39 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
40 AliHLTComponent* Spawn();
44 // Protected functions to implement AliHLTComponent's interface.
45 // These functions provide initialization as well as the actual processing
46 // capabilities of the component.
48 int DoInit( int argc, const char** argv );
50 int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
51 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
52 AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
56 // The size of the output data produced, as a percentage of the input data's size.
57 // Can be greater than 100 (%)
59 unsigned fOutputPercentage; // Output volume in percentage of the input
61 string fStrorageDBpath; // Default path for OCDB
63 AliTRDclusterizerV2HLT *fClusterizer; //! Offline derived HLT clusterizer
64 AliCDBManager *fCDB; //! Pointer to OCDB
65 AliRawReaderMemory *fMemReader; //! Input raw data reader
67 ClassDef(AliHLTTRDClusterizerComponentV2, 0)