]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCClusterFinderComponent.h
- code version from TPC commissioning merged
[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 #include "AliHLTTPCDigitReaderRaw.h"
17
18 class AliHLTTPCClusterFinder;
19
20 class AliHLTTPCClusterFinderComponent : public AliHLTProcessor
21     {
22     public:
23         /**
24          * constructor 
25          * @param packed    whether to use the packed or unpacked reader 
26          */
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&);
32         /** destructor */
33         virtual ~AliHLTTPCClusterFinderComponent();
34
35         // Public functions to implement AliHLTComponent's interface.
36         // These functions are required for the registration process
37
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();
43         
44     protected:
45         
46         // Protected functions to implement AliHLTComponent's interface.
47         // These functions provide initialization as well as the actual processing
48         // capabilities of the component. 
49
50         int DoInit( int argc, const char** argv );
51         int DoDeinit();
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 );
55         
56     private:
57         /** the cluster finder object */
58         AliHLTTPCClusterFinder* fClusterFinder;
59         /** the reader object for data decoding */
60         AliHLTTPCDigitReader* fReader;
61
62       bool fClusterDeconv;
63       float fXYClusterError;
64       float fZClusterError;
65       Int_t fPackedSwitch;
66       
67       ClassDef(AliHLTTPCClusterFinderComponent, 0)
68
69     };
70 #endif