Int_t volume[5] = {-1, -1, -1, -1, -1};
Int_t counter = 0;
+ Bool_t checkContent = kFALSE;
+
for (Int_t iSector=0; iSector<fNSector; iSector++)
for (Int_t iPlate=0; iPlate<fNplate; iPlate++)
for (Int_t iStrip=0; iStrip<fNstrip; iStrip++)
volume[3] = iPadX;
volume[4] = iPadZ;
+ checkContent = kFALSE;
+ for (Int_t label=0; label<kMaxDigitsPerPad; label++)
+ checkContent = checkContent || (GetDigitIndex(volume, label)>=0);
+
//if (CheckedIndex(volume)!=-1) counter++;
- if (GetDigitIndex(volume, 0)>0) counter++;
+ if (checkContent) counter++;
}
return counter;
{
volume[3] = iPadX;
volume[4] = iPadZ;
- if (GetDigitIndex(volume, 0)>=0) {
- counter = kTRUE;
- break;
+ for (Int_t label=0; label<kMaxDigitsPerPad; label++) {
+ if (GetDigitIndex(volume, label)>=0) {
+ counter = kTRUE;
+ break;
+ }
}
}
Int_t AliTOFDigitMap::DigitInStrip(Int_t iSector, Int_t iPlate, Int_t iStrip) const
{
//
- // Returns:
+ // Returns number of digits in the strip iStrip,
+ // in the plate iPlate of the sector iSector
//
Int_t volume[5] = {iSector, iPlate, iStrip, -1, -1};
for (Int_t label=0; label<kMaxDigitsPerPad; label++) {
volume[3] = iPadX;
volume[4] = iPadZ;
- if (GetDigitIndex(volume, label)<0) continue;
- counter++;
+ if (GetDigitIndex(volume, label)>=0)
+ counter++;
}
return counter;
// Reset digit into pad vol
//
- Int_t dummy = -1;
-
for (Int_t slot=0; slot<kMaxDigitsPerPad; slot++) {
if (fDigitMap[CheckedIndex(vol)][slot]-1==dig) {
fDigitMap[CheckedIndex(vol)][slot] = 0;
- dummy = slot;
}
}
- /*
- if (dummy<kMaxDigitsPerPad-1) {
- for (Int_t ii=dummy; ii<kMaxDigitsPerPad-1; ii++) {
- fDigitMap[CheckedIndex(vol)][ii] =
- fDigitMap[CheckedIndex(vol)][ii+1];
- }
- }
- */
+
}
////////////////////////////////////////////////////////////////////////
//
// 0 means empty pad, we need to shift indeces by 1
- //for (Int_t slot=0; slot<kMaxDigitsPerPad; slot++) {
- //if (fDigitMap[CheckedIndex(vol)][slot]==dig)
- //fDigitMap[CheckedIndex(vol)][slot] = 0;
- //}
-
-
fDigitMap[CheckedIndex(vol)][dig] = 0;
- /*
- if (dig<kMaxDigitsPerPad-1) {
- for (Int_t ii=dig; ii<kMaxDigitsPerPad-1; ii++) {
- fDigitMap[CheckedIndex(vol)][ii] =
- fDigitMap[CheckedIndex(vol)][ii+1];
- }
- }
- */
+
}
+////////////////////////////////////////////////////////////////////////
void AliTOFDigitMap::ResetDigit(Int_t *vol)
{
//
}
+////////////////////////////////////////////////////////////////////////
Int_t AliTOFDigitMap::GetNumberOfDigits(Int_t *vol)
{
//
Int_t counter = 0;
for (Int_t slot=0; slot<kMaxDigitsPerPad; slot++)
- if (GetDigitIndex(vol, slot)!=-1) counter++;
+ if (GetDigitIndex(vol, slot)>=0) counter++;
return counter;