- while ( ( d = static_cast<AliMUONVDigit*>(next()) ) )
- {
- Int_t ix = d->PadX();
- Int_t iy = d->PadY();
- Int_t cathode = d->Cathode();
- AliMpPad pad = fSegmentations[cathode]->PadByIndices(AliMpIntPair(ix,iy));
- TClonesArray& padArray = *(fPads[cathode]);
- if ( fDetElemId == -1 )
- {
- fDetElemId = d->DetElemId();
- }
- else
- {
- if ( d->DetElemId() != fDetElemId )
- {
- AliError("Something is seriously wrong with DE. Aborting clustering");
- return kFALSE;
- }
- }
-
- AliMUONPad mpad(fDetElemId,cathode,
- ix,iy,pad.Position().X(),pad.Position().Y(),
- pad.Dimensions().X(),pad.Dimensions().Y(),
- d->Charge());
- if ( d->IsSaturated() ) mpad.SetSaturated(kTRUE);
- new (padArray[padArray.GetLast()+1]) AliMUONPad(mpad);
- }