]>
Commit | Line | Data |
---|---|---|
187229ab | 1 | // $Id$ |
2 | ||
3 | #ifndef AliHLTTPC_KRYPTONCLUSTERFINDER | |
4 | #define AliHLTTPC_KRYPTONCLUSTERFINDER | |
297174de | 5 | //* This file is property of and copyright by the ALICE HLT Project * |
6 | //* ALICE Experiment at CERN, All rights reserved. * | |
7 | //* See cxx source for full Copyright notice * | |
187229ab | 8 | |
9 | /** @file AliHLTTPCKryptonClusterFinder.h | |
98034d0d | 10 | @author Kenneth Aamodt kenneth.aamodt@student.uib.no |
187229ab | 11 | @date |
98034d0d | 12 | @brief Krypton Cluster Finder for the TPC |
187229ab | 13 | */ |
14 | ||
98034d0d | 15 | //#include "AliHLTLogging.h" |
16 | //#include "AliHLTTPCPad.h" | |
17 | #include "AliHLTTPCClusterFinder.h" | |
b7625c4d | 18 | #include "TString.h" |
19 | #include "TH1F.h" | |
20 | #include "TObjArray.h" | |
21 | ||
187229ab | 22 | class AliHLTTPCSpacePointData; |
23 | class AliHLTTPCDigitReader; | |
24 | ||
297174de | 25 | /** |
26 | * @class AliHLTTPCKryptonClusterFinder | |
27 | * | |
28 | * @ingroup alihlt_tpc | |
29 | */ | |
98034d0d | 30 | class AliHLTTPCKryptonClusterFinder : public AliHLTTPCClusterFinder { |
187229ab | 31 | |
32 | public: | |
187229ab | 33 | /** standard constructor */ |
34 | AliHLTTPCKryptonClusterFinder(); | |
35 | /** destructor */ | |
b7625c4d | 36 | virtual ~AliHLTTPCKryptonClusterFinder(); |
187229ab | 37 | |
b7625c4d | 38 | /** Rebunches the data, use on real data which has "wrong" bunches due to keeping 0 data */ |
98034d0d | 39 | void ReBunch(const UInt_t * bunchData,Int_t bunchSize); |
187229ab | 40 | |
b7625c4d | 41 | /** rads the data insorted */ |
98034d0d | 42 | void ReadDataUnsorted(void* ptr,unsigned long size); |
187229ab | 43 | |
b7625c4d | 44 | /** compare one pads combining neighbouring clustercandidates to a cluster */ |
45 | Bool_t ComparePads(AliHLTTPCPad *nextPad,AliHLTTPCClusters* cluster,Int_t nextPadToRead); | |
46 | ||
47 | /** Find clusters on the rows */ | |
98034d0d | 48 | void FindRowClusters(); |
187229ab | 49 | |
b7625c4d | 50 | /** combines the row clusters to a krypton cluster */ |
187229ab | 51 | void FindKryptonClusters(); |
98034d0d | 52 | |
b7625c4d | 53 | /** checks if there is a candidate on the previous row */ |
54 | void CheckForCandidateOnPreviousRow(AliHLTTPCClusters* tmpCluster); | |
55 | ||
0efebbac | 56 | /** set the selection from minrow to maxrow, used to look at a certain interval of rows */ |
b7625c4d | 57 | void SetSelection(Int_t minRow, Int_t maxRow); |
58 | ||
0efebbac | 59 | /** returns the number of krypton clusters found */ |
60 | AliHLTUInt32_t GetNKryptonClusters(){ return fNKryptonClusters;} | |
98034d0d | 61 | |
0efebbac | 62 | /** sets the maximum size of the output buffer */ |
63 | void SetMaxOutputSize(AliHLTUInt32_t size){fMaxOutputSize=size;} | |
64 | ||
65 | vector<AliHLTUInt16_t> fHWAddressVector; //! transient | |
98034d0d | 66 | |
187229ab | 67 | private: |
68 | /** copy constructor prohibited */ | |
69 | AliHLTTPCKryptonClusterFinder(const AliHLTTPCKryptonClusterFinder&); | |
70 | /** assignment operator prohibited */ | |
71 | AliHLTTPCKryptonClusterFinder& operator=(const AliHLTTPCKryptonClusterFinder&); | |
72 | ||
187229ab | 73 | vector<Int_t> fTimebinsInBunch; //! transient |
74 | ||
75 | vector<Int_t> fIndexOfBunchStart; //! transient | |
b7625c4d | 76 | |
0efebbac | 77 | Int_t fMaxQOfCluster; //! transient |
78 | ||
b7625c4d | 79 | Int_t fSelectionMinRowNumber; //! transient |
80 | Int_t fSelectionMaxRowNumber; //! transient | |
81 | ||
0efebbac | 82 | AliHLTUInt32_t fNKryptonClusters; //! transient |
b7625c4d | 83 | |
0efebbac | 84 | AliHLTUInt32_t fMaxOutputSize; //! transient |
b7625c4d | 85 | |
0efebbac | 86 | ClassDef(AliHLTTPCKryptonClusterFinder,2) //TPC Krypton cluster finder |
187229ab | 87 | }; |
88 | #endif |