-void AliMUONChamber::DisIntegration(Float_t eloss, Float_t /*tof*/,
- Float_t xhit, Float_t yhit, Float_t zhit,
- Int_t& nnew,Float_t newclust[6][500])
-{
-//
-// Generates pad hits (simulated cluster)
-// using the segmentation and the response model
- Float_t dx, dy;
- //
- // Width of the integration area
- //
- dx=fResponse->SigmaIntegration()*fResponse->ChargeSpreadX();
- dy=fResponse->SigmaIntegration()*fResponse->ChargeSpreadY();
- //
- // Get pulse height from energy loss
- Float_t qtot = fResponse->IntPH(eloss);
- //
- // Loop Over Pads
-
- Float_t qp;
- nnew=0;
-
- // Cathode plane loop
- for (Int_t i=1; i<=fnsec; i++) {
- Float_t qcath = qtot * (i==1? fCurrentCorrel : 1/fCurrentCorrel);
- AliSegmentation * segmentation=
- //PH (AliSegmentation *) (*fSegmentation)[i-1];
- (AliSegmentation *) fSegmentation->At(i-1);
- for (segmentation->FirstPad(xhit, yhit, zhit, dx, dy);
- segmentation->MorePads();
- segmentation->NextPad())
- {
- qp=fResponse->IntXY(segmentation);
- qp=TMath::Abs(qp);
-//
-//
- if (qp > 1.e-4)
- {
- if (nnew >= 500) // Perform a bounds check on nnew since it is assumed
- // newclust only contains 500 elements.
- {
- Error("DisIntegration", "Limit of 500 pad responses reached.");
- return;
- };
- //
- // --- store signal information
- newclust[0][nnew]=qcath; // total charge
- newclust[1][nnew]=segmentation->Ix(); // ix-position of pad
- newclust[2][nnew]=segmentation->Iy(); // iy-position of pad
- newclust[3][nnew]=qp * qcath; // charge on pad
- newclust[4][nnew]=segmentation->ISector(); // sector id
- newclust[5][nnew]=(Float_t) i; // counter
- nnew++;
-
- }
- } // Pad loop
-
- } // Cathode plane loop
-}
-
-
-
-void AliMUONChamber::InitGeo(Float_t /*zpos*/)