]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCKryptonClusterFinder.h
Remove compilser warnings
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCKryptonClusterFinder.h
1 // $Id$
2
3 #ifndef AliHLTTPC_KRYPTONCLUSTERFINDER
4 #define AliHLTTPC_KRYPTONCLUSTERFINDER
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                               *
8
9 /** @file   AliHLTTPCKryptonClusterFinder.h
10     @author Kenneth Aamodt kenneth.aamodt@student.uib.no
11     @date   
12     @brief  Krypton Cluster Finder for the TPC
13 */
14
15 //#include "AliHLTLogging.h"
16 //#include "AliHLTTPCPad.h"
17 #include "AliHLTTPCClusterFinder.h"
18 #include "TString.h"
19 #include "TH1F.h"
20 #include "TObjArray.h"
21
22 class AliHLTTPCSpacePointData;
23 class AliHLTTPCDigitReader;
24
25 /**
26  * @class AliHLTTPCKryptonClusterFinder
27  *
28  * @ingroup alihlt_tpc
29  */
30 class AliHLTTPCKryptonClusterFinder : public AliHLTTPCClusterFinder {
31
32  public:
33   /** standard constructor */
34   AliHLTTPCKryptonClusterFinder();
35   /** destructor */
36   virtual ~AliHLTTPCKryptonClusterFinder();
37
38   /** Rebunches the data, use on real data which has "wrong" bunches due to keeping 0 data */
39   void ReBunch(const UInt_t * bunchData,Int_t bunchSize);
40
41   /** rads the data insorted */
42   void ReadDataUnsorted(void* ptr,unsigned long size);
43
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 */
48   void FindRowClusters();
49
50   /** combines the row clusters to a krypton cluster */
51   void FindKryptonClusters();
52
53   /** checks if there is a candidate on the previous row */
54   void CheckForCandidateOnPreviousRow(AliHLTTPCClusters* tmpCluster);
55
56   /** set the selection from minrow to maxrow, used to look at a certain interval of rows */
57   void SetSelection(Int_t minRow, Int_t maxRow);
58
59   /** returns the number of krypton clusters found */
60   AliHLTUInt32_t GetNKryptonClusters(){ return fNKryptonClusters;}
61
62   /** sets the maximum size of the output buffer */
63   void SetMaxOutputSize(AliHLTUInt32_t size){fMaxOutputSize=size;}
64   
65   vector<AliHLTUInt16_t> fHWAddressVector;                         //! transient
66
67  private: 
68   /** copy constructor prohibited */
69   AliHLTTPCKryptonClusterFinder(const AliHLTTPCKryptonClusterFinder&);
70   /** assignment operator prohibited */
71   AliHLTTPCKryptonClusterFinder& operator=(const AliHLTTPCKryptonClusterFinder&);
72
73   vector<Int_t> fTimebinsInBunch;                                  //! transient
74
75   vector<Int_t> fIndexOfBunchStart;                                //! transient
76   
77   Int_t fMaxQOfCluster;                                            //! transient
78   
79   Int_t fSelectionMinRowNumber;                                    //! transient
80   Int_t fSelectionMaxRowNumber;                                    //! transient
81
82   AliHLTUInt32_t fNKryptonClusters;                                //! transient
83
84   AliHLTUInt32_t fMaxOutputSize;                                   //! transient
85   
86   ClassDef(AliHLTTPCKryptonClusterFinder,2) //TPC Krypton cluster finder
87 };
88 #endif