3 #ifndef ALIHLTTPCCLUSTERFINDERCOMPONENT_H
4 #define ALIHLTTPCCLUSTERFINDERCOMPONENT_H
6 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
9 /* AliHLTTPCClusterFinderComponent
12 #include "AliHLTProcessor.h"
13 #include "AliHLTTPCDefinitions.h"
14 #include "AliHLTTPCDigitReaderPacked.h"
15 #include "AliHLTTPCDigitReaderUnpacked.h"
16 #include "AliHLTTPCDigitReaderRaw.h"
18 class AliHLTTPCClusterFinder;
20 class AliHLTTPCClusterFinderComponent : public AliHLTProcessor
25 * @param packed whether to use the packed or unpacked reader
27 AliHLTTPCClusterFinderComponent(bool packed);
28 /** not a valid copy constructor, defined according to effective C++ style */
29 AliHLTTPCClusterFinderComponent(const AliHLTTPCClusterFinderComponent&);
30 /** not a valid assignment op, but defined according to effective C++ style */
31 AliHLTTPCClusterFinderComponent& operator=(const AliHLTTPCClusterFinderComponent&);
33 virtual ~AliHLTTPCClusterFinderComponent();
35 // Public functions to implement AliHLTComponent's interface.
36 // These functions are required for the registration process
38 const char* GetComponentID();
39 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
40 AliHLTComponent_DataType GetOutputDataType();
41 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
42 AliHLTComponent* Spawn();
46 // Protected functions to implement AliHLTComponent's interface.
47 // These functions provide initialization as well as the actual processing
48 // capabilities of the component.
50 int DoInit( int argc, const char** argv );
52 int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
53 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
54 AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
57 /** the cluster finder object */
58 AliHLTTPCClusterFinder* fClusterFinder;
59 /** the reader object for data decoding */
60 AliHLTTPCDigitReader* fReader;
63 float fXYClusterError;
67 ClassDef(AliHLTTPCClusterFinderComponent, 0)