]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/HWCFemulator/AliHLTTPCHWCFProcessorUnit.h
bug fix in treatment of MC labels
[u/mrichter/AliRoot.git] / HLT / TPCLib / HWCFemulator / AliHLTTPCHWCFProcessorUnit.h
1 #ifndef ALIHLTTPCHWCFPROCESSORUNIT_H
2 #define ALIHLTTPCHWCFPROCESSORUNIT_H
3
4 //* This file is property of and copyright by the ALICE HLT Project        * 
5 //* ALICE Experiment at CERN, All rights reserved.                         *
6 //* See cxx source for full Copyright notice                               *
7
8
9 #include "AliHLTDataTypes.h"
10 #include "AliHLTTPCHWCFDataTypes.h"
11
12
13 //  @class AliHLTTPCHWCFProcessorUnit
14 //  @author Sergey Gorbunov <sergey.gorbunov@fias.uni-frankfurt.de>
15 //  @author Torsten Alt <talt@cern.ch> 
16 //  @brief  Channel Processor unit of FPGA ClusterFinder Emulator for TPC
17 //  @brief  ( see AliHLTTPCHWCFEmulator class )
18 //  @note
19 //
20 class AliHLTTPCHWCFProcessorUnit
21 {
22  public:
23
24   /** standard constructor */
25   AliHLTTPCHWCFProcessorUnit();
26   
27   /** destructor */
28   ~AliHLTTPCHWCFProcessorUnit();
29
30   /** do cluster deconvolution in time direction */
31   void SetDeconvolution( bool val ){ fDeconvolute = val; }
32
33   /** lower charge limit for isolated signals
34    */
35   void SetSingleSeqLimit( AliHLTUInt32_t val ){ 
36     fSingleSeqLimit = val << AliHLTTPCHWCFDefinitions::kFixedPoint; 
37   }
38
39   /** initialise */
40   int Init();
41   
42   /** input stream of data */
43   int InputStream( const AliHLTTPCHWCFBunch *bunch );
44
45   /** output stream of data */
46   const AliHLTTPCHWCFClusterFragment *OutputStream();
47   
48  private: 
49
50   /** copy constructor prohibited */
51   AliHLTTPCHWCFProcessorUnit(const AliHLTTPCHWCFProcessorUnit&);
52   /** assignment operator prohibited */
53   AliHLTTPCHWCFProcessorUnit& operator=(const AliHLTTPCHWCFProcessorUnit&);  
54   
55
56   AliHLTTPCHWCFClusterFragment fOutput; // current output
57   const AliHLTTPCHWCFBunch *fkBunch; // current input
58   AliHLTUInt32_t fBunchIndex; // index in bunch
59   bool fDeconvolute;    // do deconvolution in time direction
60   AliHLTUInt64_t fSingleSeqLimit; // lower charge limit for isolated signals
61 };
62
63 #endif