coding conventions and compilation warnings
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCPadArray.h
CommitLineData
01f43166 1// -*- Mode: C++ -*-
2// @(#) $Id$
3
a1dbf058 4#ifndef ALIHLTTPCPADARRAY_H
5#define ALIHLTTPCPADARRAY_H
01f43166 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/** @file AliHLTTPCPadArray.h
11 @author Kenneth Aamodt
12 @date
13 @brief Class containing arrays of TPC Pads.
14*/
15
a1dbf058 16// see below for class documentation
17// or
18// refer to README to build package
19// or
20// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
21
01f43166 22#include "AliHLTLogging.h"
23#include "AliHLTTPCTransform.h"
01f43166 24#include "AliHLTTPCClusters.h"
25#include <vector>
26
27typedef Int_t AliHLTTPCSignal_t;
28class AliHLTTPCDigitReader;
a1dbf058 29class AliHLTTPCPad;
01f43166 30
31/**
32 * @class AliHLTTPCPadArray
33 * TODO
34 */
35
36class AliHLTTPCPadArray : public AliHLTLogging {
37
38public:
39
40 /** standard constructor */
41 AliHLTTPCPadArray();
42
43 /**
44 * Constructor
3ab89155 45 * @param patch Patch number, either use this constructor or
46 * use the default constructor and the SetPatch method
47 *
01f43166 48 */
49 AliHLTTPCPadArray(Int_t patch);
50
01f43166 51 /** standard destructor */
52 virtual ~AliHLTTPCPadArray();
53
54 /**
55 * Initialize the pad vector for the patch set.
56 */
57 Int_t InitializeVector();
58
59 /**
60 * Deinitialize the pad vector for the patch set.
61 */
62 Int_t DeInitializeVector();
63
64 /**
65 * Loop over all pads setting their data array to -1.
66 */
a1dbf058 67 void DataToDefault();
01f43166 68
69 /**
70 * Set the patch number.
71 */
72 void SetPatch(Int_t patch);
73
74 /**
75 * Set the digit reader.
76 */
77 void SetDigitReader(AliHLTTPCDigitReader* digitReader);
78
79 /**
80 * Reads the data, and set it in the Pad objects.
81 */
82 Int_t ReadData();
83
84 /**
85 * Retuns number of pads in this row.
86 */
a1dbf058 87 Int_t GetNumberOfPads(Int_t row) const {return fNumberOfPadsInRow[row];}
01f43166 88
89 /**
90 * Loop over all pads, checking for clustercandidates.
91 */
a1dbf058 92 void FindClusterCandidates();
01f43166 93
94 /**
95 *
96 * Loop over all pads looking for clusters, if cluster candidates on two neighbouring
97 * pads have a mean time difference of <match it is said to be a cluster.
98 *
99 */
100 void FindClusters(Int_t match);
101
102 /**
103 * Print the values of the cluster, used for debugging purposes.
104 */
105 void PrintClusters();
106
a1dbf058 107 typedef vector<AliHLTTPCPad*> AliHLTTPCPadVector;
01f43166 108
a1dbf058 109 vector<AliHLTTPCPadVector> fRowPadVector; //! transient
01f43166 110
111 vector<AliHLTTPCClusters> fClusters; //! transient
112
113private:
a1dbf058 114 /** copy constructor prohibited */
115 AliHLTTPCPadArray(const AliHLTTPCPadArray&);
116 /** assignment operator prohibited */
117 AliHLTTPCPadArray& operator=(const AliHLTTPCPadArray&);
01f43166 118
119 /** The patch number */
a1dbf058 120 Int_t fPatch; //! transient
01f43166 121
122 Int_t fFirstRow; //! transient
123
124 Int_t fLastRow; //! transient
125
126 Int_t fThreshold; //! transient
127
128 Int_t* fNumberOfPadsInRow; //! transient
129
130 Int_t fNumberOfRows; //! transient
131
132 AliHLTTPCDigitReader* fDigitReader; //! transient
133
134 ClassDef(AliHLTTPCPadArray, 0);
135};
a1dbf058 136#endif // ALIHLTTPCPADARRAY_H