]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/HWCFemulator/AliHLTTPCHWCFProcessorUnit.h
using one instance of decoder for all events
[u/mrichter/AliRoot.git] / HLT / TPCLib / HWCFemulator / AliHLTTPCHWCFProcessorUnit.h
CommitLineData
33861fe0 1//-*- Mode: C++ -*-
2// $Id$
c012881c 3#ifndef ALIHLTTPCHWCFPROCESSORUNIT_H
4#define ALIHLTTPCHWCFPROCESSORUNIT_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 AliHLTTPCHWCFProcessorUnit
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//
22class AliHLTTPCHWCFProcessorUnit
23{
24 public:
25
26 /** standard constructor */
27 AliHLTTPCHWCFProcessorUnit();
28
29 /** destructor */
30 ~AliHLTTPCHWCFProcessorUnit();
31
31959cd6 32 /** set debug level */
33 void SetDebugLevel( int val ){ fDebug = val; }
34
c012881c 35 /** do cluster deconvolution in time direction */
25080052 36 void SetDeconvolutionTime( bool val ){ fDeconvolute = val; }
c012881c 37
38 /** lower charge limit for isolated signals
39 */
40 void SetSingleSeqLimit( AliHLTUInt32_t val ){
41 fSingleSeqLimit = val << AliHLTTPCHWCFDefinitions::kFixedPoint;
42 }
43
25080052 44 /** limit size of the cluster in time bins to 5
ee4d1bf0 45 */
25080052 46 void SetUseTimeBinWindow( bool val ){
47 fUseTimeBinWindow = val;
ef19b824 48 }
49
c012881c 50 /** initialise */
51 int Init();
52
53 /** input stream of data */
54 int InputStream( const AliHLTTPCHWCFBunch *bunch );
55
56 /** output stream of data */
57 const AliHLTTPCHWCFClusterFragment *OutputStream();
58
59 private:
60
61 /** copy constructor prohibited */
62 AliHLTTPCHWCFProcessorUnit(const AliHLTTPCHWCFProcessorUnit&);
63 /** assignment operator prohibited */
64 AliHLTTPCHWCFProcessorUnit& operator=(const AliHLTTPCHWCFProcessorUnit&);
65
66
67 AliHLTTPCHWCFClusterFragment fOutput; // current output
68 const AliHLTTPCHWCFBunch *fkBunch; // current input
69 AliHLTUInt32_t fBunchIndex; // index in bunch
70 bool fDeconvolute; // do deconvolution in time direction
71 AliHLTUInt64_t fSingleSeqLimit; // lower charge limit for isolated signals
25080052 72 bool fUseTimeBinWindow; // set max. size of the cluster to 5 time bins
31959cd6 73 int fDebug; // debug level
c012881c 74};
75
76#endif