1 #include "AliMUONchamber.h"
3 ClassImp(AliMUONchamber)
4 AliMUONchamber::AliMUONchamber()
6 fSegmentation = new TObjArray(2);
11 void AliMUONchamber::Init()
14 ((AliMUONsegmentation *) (*fSegmentation)[0])->Init(this);
16 ((AliMUONsegmentation *) (*fSegmentation)[1])->Init(this);
21 void AliMUONchamber::DisIntegration(Float_t eloss, Float_t xhit, Float_t yhit,
22 Int_t& nnew,Float_t newclust[6][500])
25 // Generates pad hits (simulated cluster)
26 // using the segmentation and the response model
29 // Width of the integration area
31 dx=fResponse->SigmaIntegration()*fResponse->ChargeSpreadX();
32 dy=fResponse->SigmaIntegration()*fResponse->ChargeSpreadY();
34 // Get pulse height from energy loss
35 Float_t qtot = fResponse->IntPH(eloss);
41 for (Int_t i=1; i<=fnsec; i++) {
43 AliMUONsegmentation * segmentation=(AliMUONsegmentation *) (*fSegmentation)[i-1];
44 for (segmentation->FirstPad(xhit, yhit, dx, dy);
45 segmentation->MorePads();
46 segmentation->NextPad())
48 qp=fResponse->IntXY(segmentation);
56 // --- store signal information
57 newclust[0][nnew]=qtot;
58 newclust[1][nnew]=segmentation->Ix();
59 newclust[2][nnew]=segmentation->Iy();
60 newclust[3][nnew]=qp * qtot;
61 newclust[4][nnew]=segmentation->ISector();
62 newclust[5][nnew]=(Float_t) i;
63 // printf("\n pad hit %d %d %f %f \n",nnew,i,newclust[1][nnew],newclust[2][nnew]);
69 // printf("\n check sum is %f %f %f %f %d \n",qcheck,qtot,xhit,yhit,fGid);
70 } // Cathode plane loop
75 void AliMUONchamber::InitGeo(Float_t)
79 // 3% radiation length of aluminum (X0=8.9 cm)