- dEchannelsBending[ichamber][idetele]=0;
- dEchannelsNonBending[ichamber][idetele]=0;
- dEoccupancyBending[ichamber][idetele]=0;
- dEoccupancyNonBending[ichamber][idetele]=0;
- if ( AliMpDEManager::IsValidDetElemId(detele) ) {
- segbend = AliMpSegmentation::Instance()
- ->GetMpSegmentation(detele, AliMp::kCath0);
- segnonbend = AliMpSegmentation::Instance()
- ->GetMpSegmentation(detele, AliMp::kCath1);
- if (AliMpDEManager::GetPlaneType(detele, AliMp::kCath0) != AliMp::kBendingPlane ) {
- const AliMpVSegmentation* tmp = segbend;
- segbend = segnonbend;
- segnonbend = tmp;
- }
-
- for (Int_t ix=0; ix<=segbend->MaxPadIndexX(); ix++) {
- for (Int_t iy=0; iy<=segbend->MaxPadIndexY(); iy++) {
- pad.SetFirst(ix);
- pad.SetSecond(iy);
- if( segbend->HasPad(pad) ) {
- dEchannelsBending[ichamber][idetele]++;
- cHchannelsBending[ichamber]++;
- totalchannelsBending++;
- }
- }
- }
- for (Int_t ix=0; ix<=segnonbend->MaxPadIndexX(); ix++) {
- for (Int_t iy=0; iy<=segnonbend->MaxPadIndexY(); iy++) {
- pad.SetFirst(ix);
- pad.SetSecond(iy);
- if(segnonbend->HasPad(pad)) {
- dEchannelsNonBending[ichamber][idetele]++;
- cHchannelsNonBending[ichamber]++;
- totalchannelsNonBending++;
+
+ if ( AliMpDEManager::IsValidDetElemId(detele) )
+ {
+ Int_t cathode(0);
+
+ const AliMpVSegmentation* segbend = AliMpSegmentation::Instance()
+ ->GetMpSegmentation(detele, AliMp::kCath0);
+ const AliMpVSegmentation* segnonbend = AliMpSegmentation::Instance()
+ ->GetMpSegmentation(detele, AliMp::kCath1);
+
+ if (AliMpDEManager::GetPlaneType(detele, AliMp::kCath0) != AliMp::kBendingPlane )
+ {
+ const AliMpVSegmentation* tmp = segbend;
+ segbend = segnonbend;
+ segnonbend = tmp;
+ cathode = 1;
+ }
+
+ Int_t nchannels = segbend->NofPads();
+ Int_t ndigits = digitStore->GetSize(detele,cathode);
+ dEchannelsBending[ichamber][idetele] = nchannels;
+ dEoccupancyBending[ichamber][idetele] = ndigits;
+ cHchannelsBending[ichamber] += nchannels;
+ cHoccupancyBending[ichamber] += ndigits;
+ totalchannelsBending += nchannels;
+ totaloccupancyBending += ndigits;
+
+ nchannels = segnonbend->NofPads();
+ ndigits = digitStore->GetSize(detele,1-cathode);
+
+ dEchannelsNonBending[ichamber][idetele] = nchannels;
+ dEoccupancyBending[ichamber][idetele] = ndigits;
+ cHchannelsNonBending[ichamber] += nchannels;
+ cHoccupancyNonBending[ichamber] += ndigits;
+ totalchannelsNonBending += nchannels;
+ totaloccupancyNonBending += ndigits;