]>
Commit | Line | Data |
---|---|---|
c012881c | 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 |