1 #ifndef ALIHLTTPCHWCFPROCESSORUNIT_H
2 #define ALIHLTTPCHWCFPROCESSORUNIT_H
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 *
9 #include "AliHLTDataTypes.h"
10 #include "AliHLTTPCHWCFDataTypes.h"
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 )
20 class AliHLTTPCHWCFProcessorUnit
24 /** standard constructor */
25 AliHLTTPCHWCFProcessorUnit();
28 ~AliHLTTPCHWCFProcessorUnit();
30 /** do cluster deconvolution in time direction */
31 void SetDeconvolution( bool val ){ fDeconvolute = val; }
33 /** lower charge limit for isolated signals
35 void SetSingleSeqLimit( AliHLTUInt32_t val ){
36 fSingleSeqLimit = val << AliHLTTPCHWCFDefinitions::kFixedPoint;
42 /** input stream of data */
43 int InputStream( const AliHLTTPCHWCFBunch *bunch );
45 /** output stream of data */
46 const AliHLTTPCHWCFClusterFragment *OutputStream();
50 /** copy constructor prohibited */
51 AliHLTTPCHWCFProcessorUnit(const AliHLTTPCHWCFProcessorUnit&);
52 /** assignment operator prohibited */
53 AliHLTTPCHWCFProcessorUnit& operator=(const AliHLTTPCHWCFProcessorUnit&);
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