]>
Commit | Line | Data |
---|---|---|
b15de2d2 | 1 | #include "AliITSOnlineCalibrationSPD.h" |
2 | ||
3 | /////////////////////////////////////////////////////////////////////// | |
4 | // Author: Henrik Tydesjo // | |
5 | // Implementation of the online container for dead and noisy pixels. // | |
6 | // // | |
7 | /////////////////////////////////////////////////////////////////////// | |
8 | ||
9 | ClassImp(AliITSOnlineCalibrationSPD) | |
10 | ||
11 | AliITSOnlineCalibrationSPD::AliITSOnlineCalibrationSPD(): | |
12 | fModuleNr(0), | |
13 | fNrDead(0), | |
14 | fDeadChannels(0), | |
15 | fNrNoisy(0), | |
16 | fNoisyChannels(0) | |
17 | {} | |
18 | //_________________________________________________________________________ | |
19 | void AliITSOnlineCalibrationSPD::AddDead(UInt_t col, UInt_t row) { | |
20 | // | |
21 | // Add a dead channel to fDeadChannel array | |
22 | // | |
23 | fDeadChannels.Set(fNrDead*2+2); | |
24 | fDeadChannels.AddAt(col,fNrDead*2); | |
25 | fDeadChannels.AddAt(row,fNrDead*2+1); | |
26 | fNrDead++; | |
27 | } | |
28 | //_________________________________________________________________________ | |
29 | Int_t AliITSOnlineCalibrationSPD::GetDeadColAt(UInt_t index) const { | |
30 | // | |
31 | // Returns column of index-th dead channel | |
32 | // | |
33 | if (index<fNrDead) { | |
34 | return fDeadChannels.At(index*2); | |
35 | } | |
36 | return -1; | |
37 | } | |
38 | //_________________________________________________________________________ | |
39 | Int_t AliITSOnlineCalibrationSPD::GetDeadRowAt(UInt_t index) const { | |
40 | // | |
41 | // Returns row of index-th dead channel | |
42 | // | |
43 | if (index<fNrDead) { | |
44 | return fDeadChannels.At(index*2+1); | |
45 | } | |
46 | return -1; | |
47 | } | |
48 | //_________________________________________________________________________ | |
49 | Bool_t AliITSOnlineCalibrationSPD::IsPixelDead(Int_t col, Int_t row) const { | |
50 | // | |
51 | // Check if pixel (col,row) is dead | |
52 | // | |
53 | for (UInt_t i=0; i<fNrDead; i++) { | |
54 | if (fDeadChannels.At(i*2)==col && fDeadChannels.At(i*2+1)==row) { | |
55 | return kTRUE; | |
56 | } | |
57 | } | |
58 | return kFALSE; | |
59 | } | |
60 | //____________________________________________________________________________ | |
61 | void AliITSOnlineCalibrationSPD::AddNoisy(UInt_t col, UInt_t row) { | |
62 | // | |
63 | // add noisy pixel | |
64 | // | |
65 | fDeadChannels.Set(fNrNoisy*2+2); | |
66 | fNoisyChannels.AddAt(col,fNrNoisy*2); | |
67 | fNoisyChannels.AddAt(row,fNrNoisy*2+1); | |
68 | fNrNoisy++; | |
69 | } | |
70 | //____________________________________________________________________________ | |
71 | Int_t AliITSOnlineCalibrationSPD::GetNoisyColAt(UInt_t index) const { | |
72 | // | |
73 | // Get column of index-th noisy pixel | |
74 | // | |
75 | if (index<fNrNoisy) { | |
76 | return fNoisyChannels.At(index*2); | |
77 | } | |
78 | return -1; | |
79 | } | |
80 | //____________________________________________________________________________ | |
81 | Int_t AliITSOnlineCalibrationSPD::GetNoisyRowAt(UInt_t index) const { | |
82 | // | |
83 | // Get row of index-th noisy pixel | |
84 | // | |
85 | if (index<fNrNoisy) { | |
86 | return fNoisyChannels.At(index*2+1); | |
87 | } | |
88 | return -1; | |
89 | } | |
90 | //____________________________________________________________________________ | |
91 | Bool_t AliITSOnlineCalibrationSPD::IsPixelNoisy(Int_t col, Int_t row) const { | |
92 | // | |
93 | // Check if pixel (col,row) is noisy | |
94 | // | |
95 | for (UInt_t i=0; i<fNrNoisy; i++) { | |
96 | if (fNoisyChannels.At(i*2)==col && fNoisyChannels.At(i*2+1)==row) { | |
97 | return kTRUE; | |
98 | } | |
99 | } | |
100 | return kFALSE; | |
101 | } |