HWCF emulator update according to the new hardware clusterfinder
[u/mrichter/AliRoot.git] / HLT / TPCLib / HWCFemulator / AliHLTTPCHWCFPeakFinderUnit.h
1 //-*- Mode: C++ -*-
2 // $Id: AliHLTTPCHWCFProcessorUnit.h 51142 2011-08-18 13:43:40Z sgorbuno $
3 #ifndef ALIHLTTPCHWCFPEAKFINDERUNIT_H
4 #define ALIHLTTPCHWCFPEAKFINDERUNIT_H
5
6 //* This file is property of and copyright by the ALICE HLT Project        * 
7 //* ALICE Experiment at CERN, All rights reserved.                         *
8 //* See cxx source for full Copyright notice                               *
9
10
11 #include "AliHLTDataTypes.h"
12 #include "AliHLTTPCHWCFDataTypes.h"
13
14
15 //  @class AliHLTTPCHWCFPeakFinderUnit
16 //  @author Sergey Gorbunov <sergey.gorbunov@fias.uni-frankfurt.de>
17 //  @author Torsten Alt <talt@cern.ch> 
18 //  @brief  Channel Processor unit of FPGA ClusterFinder Emulator for TPC
19 //  @brief  ( see AliHLTTPCHWCFEmulator class )
20 //  @note
21 //
22 class AliHLTTPCHWCFPeakFinderUnit
23 {
24  public:
25
26   /** standard constructor */
27   AliHLTTPCHWCFPeakFinderUnit();
28   
29   /** destructor */
30   ~AliHLTTPCHWCFPeakFinderUnit();
31
32   /** set debug level */
33   void SetDebugLevel( int val ){ fDebug = val; }
34
35   /** set allowed charge fluctuation for peak finding
36    */
37   void SetChargeFluctuation( AliHLTUInt32_t val ){ 
38     fChargeFluctuation = val;
39   }
40
41
42   /** initialise */
43   int Init();
44   
45   /** input stream of data */
46   int InputStream( const AliHLTTPCHWCFBunch *bunch );
47
48   /** output stream of data */
49   const AliHLTTPCHWCFBunch *OutputStream();
50   
51  private: 
52
53   /** copy constructor prohibited */
54   AliHLTTPCHWCFPeakFinderUnit(const AliHLTTPCHWCFPeakFinderUnit&);
55   /** assignment operator prohibited */
56   AliHLTTPCHWCFPeakFinderUnit& operator=(const AliHLTTPCHWCFPeakFinderUnit&);  
57   
58
59   AliHLTTPCHWCFBunch fOutput; // current output
60   const AliHLTTPCHWCFBunch *fkBunch; // current input
61   AliHLTUInt32_t fChargeFluctuation; // allowed charge fluctuation for peak finding 
62   int fDebug; // debug level
63 };
64
65 #endif