]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCClusterFinderComponent.h
- check for AliRoot features/libs/files and corresponding conditional
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCClusterFinderComponent.h
1 // @(#) $Id$
2
3 #ifndef ALIHLTTPCCLUSTERFINDERCOMPONENT_H
4 #define ALIHLTTPCCLUSTERFINDERCOMPONENT_H
5
6 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7  * See cxx source for full Copyright notice                               */
8
9 /* AliHLTTPCClusterFinderComponent
10  */
11
12 #include "AliHLTProcessor.h"
13 #include "AliHLTTPCDefinitions.h"
14 #include "AliHLTTPCDigitReaderPacked.h"
15 #include "AliHLTTPCDigitReaderUnpacked.h"
16
17 class AliHLTTPCClusterFinder;
18
19 class AliHLTTPCClusterFinderComponent : public AliHLTProcessor
20     {
21     public:
22         /**
23          * constructor 
24          * @param packed    whether to use the packed or unpacked reader 
25          */
26         AliHLTTPCClusterFinderComponent(bool packed);
27         /** not a valid copy constructor, defined according to effective C++ style */
28         AliHLTTPCClusterFinderComponent(const AliHLTTPCClusterFinderComponent&);
29         /** not a valid assignment op, but defined according to effective C++ style */
30         AliHLTTPCClusterFinderComponent& operator=(const AliHLTTPCClusterFinderComponent&);
31         /** destructor */
32         virtual ~AliHLTTPCClusterFinderComponent();
33
34         // Public functions to implement AliHLTComponent's interface.
35         // These functions are required for the registration process
36
37         const char* GetComponentID();
38         void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
39         AliHLTComponent_DataType GetOutputDataType();
40         virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
41         AliHLTComponent* Spawn();
42         
43     protected:
44         
45         // Protected functions to implement AliHLTComponent's interface.
46         // These functions provide initialization as well as the actual processing
47         // capabilities of the component. 
48
49         int DoInit( int argc, const char** argv );
50         int DoDeinit();
51         int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, 
52                      AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, 
53                      AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
54         
55     private:
56
57       AliHLTTPCClusterFinder* fClusterFinder;
58       AliHLTTPCDigitReader* fReader;
59       bool fClusterDeconv;
60       float fXYClusterError;
61       float fZClusterError;
62       Int_t fPackedSwitch;
63       
64       ClassDef(AliHLTTPCClusterFinderComponent, 0)
65
66     };
67 #endif