diff --git a/sim/detectors/mvd/CbmMvdDigitizer.cxx b/sim/detectors/mvd/CbmMvdDigitizer.cxx index f7817b432da0a051b21a84e8fd480d88db17af39..97761f33460a6d8d3a5d15aaa3be7cd0f4bc8984 100644 --- a/sim/detectors/mvd/CbmMvdDigitizer.cxx +++ b/sim/detectors/mvd/CbmMvdDigitizer.cxx @@ -403,6 +403,15 @@ void CbmMvdDigitizer::BuildEvent() // ----- First treat standard input file nOrig = fInputPoints->GetEntriesFast(); + // Since the points are distributed to several sensor tasks which creates + // several new arrays, the array index can't be used to link the proper + // MC information in the tasks to be used inside the task to link the + // correct MC information + // Add the index in the original array to to the point itself + for (int iPoint = 0; iPoint < nOrig; iPoint++) { + point = static_cast<CbmMvdPoint*>(fInputPoints->At(iPoint)); + point->SetPointId(iPoint); + } // ----- Then treat event pileup if (fNPileup > 0) { diff --git a/sim/detectors/mvd/CbmMvdPixelCharge.cxx b/sim/detectors/mvd/CbmMvdPixelCharge.cxx index c18a3c8ab09c1b70a9056d5c4b6cddad04dc3796..611a8466c205ba130d76be395b0d9812f2c1fe49 100644 --- a/sim/detectors/mvd/CbmMvdPixelCharge.cxx +++ b/sim/detectors/mvd/CbmMvdPixelCharge.cxx @@ -28,14 +28,6 @@ CbmMvdPixelCharge::CbmMvdPixelCharge(Float_t charge, Int_t channelNrX, Int_t cha , fTrackCharge(charge) , fPixelTime(time) { - fTrackId.push_back(trackId); - fPointId.push_back(pointId); - fPointWeight.push_back(charge); - fPointX.push_back(pointPosX); - fPointY.push_back(pointPosY); - fTime.push_back(time); - // fLink.push_back(); // TODO: pass link - fDominatorIndex = fPointWeight.size(); } // ------- DigestCharge ----------------------------------------------------# @@ -61,9 +53,7 @@ void CbmMvdPixelCharge::DigestCharge(Float_t pointX, Float_t pointY, Double_t ti fPointX.push_back(pointX); fPointY.push_back(pointY); fTime.push_back(time); - - // fTime.push_back(time); - // fLink.push_back(); // TODO: pass link + fContributors++; if (chargeContr > fMaxChargeContribution) { fDominatorIndex = fPointWeight.size();