X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=MUON%2FAliMUONDisplay.cxx;h=089e1f83e2980ef05f5d085a64d37e31f39f3de5;hb=fa5e892a03ab500ff1caf5c5d4faef87d843310b;hp=421029394dc1b632c30b44ae1187feb7def083f0;hpb=97ccf8cb20264d2fdc09947d3b7e58311058e6c6;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONDisplay.cxx b/MUON/AliMUONDisplay.cxx index 421029394dc..089e1f83e29 100644 --- a/MUON/AliMUONDisplay.cxx +++ b/MUON/AliMUONDisplay.cxx @@ -15,6 +15,23 @@ /* $Log$ +Revision 1.7 2000/10/02 21:28:09 fca +Removal of useless dependecies via forward declarations + +Revision 1.6 2000/07/03 11:54:57 morsch +AliMUONSegmentation and AliMUONHitMap have been replaced by AliSegmentation and AliHitMap in STEER +The methods GetPadIxy and GetPadXxy of AliMUONSegmentation have changed name to GetPadI and GetPadC. + +Revision 1.5 2000/06/28 15:16:35 morsch +(1) Client code adapted to new method signatures in AliMUONSegmentation (see comments there) +to allow development of slat-muon chamber simulation and reconstruction code in the MUON +framework. The changes should have no side effects (mostly dummy arguments). +(2) Hit disintegration uses 3-dim hit coordinates to allow simulation +of chambers with overlapping modules (MakePadHits, Disintegration). + +Revision 1.4 2000/06/27 09:46:57 morsch +kMAXZOOM global constant now in AliMUONConstants + Revision 1.3 2000/06/26 14:02:38 morsch Add class AliMUONConstants with MUON specific constants using static memeber data and access methods. @@ -109,6 +126,7 @@ it is now really the Z position of the chambers. #include #include #include +#include #include #include @@ -125,7 +143,7 @@ it is now really the Z position of the chambers. #include "AliMUONDigit.h" #include "AliMUONRawCluster.h" -#include "AliMUONSegmentation.h" +#include "AliSegmentation.h" #include "AliMUONResponse.h" #include "AliMUONChamber.h" #include "AliMUONConstants.h" @@ -556,8 +574,8 @@ void AliMUONDisplay::DrawSegmentation() Int_t icat=1; AliMUON *pMUON = (AliMUON*)gAlice->GetModule("MUON"); - AliMUONChamber* iChamber; - AliMUONSegmentation* seg; + AliMUONChamber* iChamber; + AliSegmentation* seg; iChamber = &(pMUON->Chamber(fChamber)); seg=iChamber->SegmentationModel(icat); Float_t zpos=iChamber->Z(); @@ -568,13 +586,13 @@ void AliMUONDisplay::DrawSegmentation() for (Int_t j=0; jNpy(); j++) { Float_t y0; y0=j*seg->Dpy()-seg->Dpy()/2.; - for (seg->FirstPad(0.,y0,300,0.); + for (seg->FirstPad(0.,y0,0,300,0.); seg->MorePads(); seg->NextPad()) { if (seg->ISector()==0) continue; - Float_t x,y; - seg->GetPadCxy(seg->Ix(), seg->Iy(), x, y); + Float_t x,y,z; + seg->GetPadC(seg->Ix(), seg->Iy(), x, y, z); Float_t dpx=seg->Dpx(seg->ISector())/2; Float_t dpy=seg->Dpy(seg->ISector())/2; marker=new TMarker3DBox(x,y,zpos,dpx,dpy,0,0,0); @@ -589,14 +607,14 @@ void AliMUONDisplay::DrawSegmentation() Float_t x0=j*seg->Dpx(); Float_t y0=TMath::Sqrt(r*r-x0*x0); - for (seg->FirstPad(x0,0,0,y0); + for (seg->FirstPad(x0,0,0,0,y0); seg->MorePads(); seg->NextPad()) { if (seg->ISector()==0) continue; - Float_t x,y; - seg->GetPadCxy(seg->Ix(), seg->Iy(), x, y); + Float_t x,y,z; + seg->GetPadC(seg->Ix(), seg->Iy(), x, y, z); Float_t dpx=seg->Dpx(seg->ISector())/2; Float_t dpy=seg->Dpy(seg->ISector())/2; marker=new TMarker3DBox(x,y,zpos,dpx,dpy,0,0,0); @@ -880,7 +898,7 @@ void AliMUONDisplay::LoadDigits(Int_t chamber, Int_t cathode) AliMUON *pMUON = (AliMUON*)gAlice->GetModule("MUON"); AliMUONChamber* iChamber; - AliMUONSegmentation* segmentation; + AliSegmentation* segmentation; AliMUONResponse* response; TClonesArray *muonDigits = pMUON->DigitsAddress(chamber-1); @@ -934,8 +952,8 @@ void AliMUONDisplay::LoadDigits(Int_t chamber, Int_t cathode) } // get the center of the pad - add on x and y half of pad size - Float_t xpad, ypad; - segmentation->GetPadCxy(mdig->fPadX, mdig->fPadY,xpad, ypad); + Float_t xpad, ypad, zpad; + segmentation->GetPadC(mdig->fPadX, mdig->fPadY,xpad, ypad, zpad); Int_t isec=segmentation->Sector(mdig->fPadX, mdig->fPadY); Float_t dpx=segmentation->Dpx(isec)/2; @@ -962,9 +980,10 @@ void AliMUONDisplay::LoadDigits(Int_t chamber, Int_t cathode) points->SetPoint(0,xpad,ypad,zpos); for (Int_t imark=0;imarkGetPadCxy(mdig->fPadX + imark*offset, mdig->fPadY,xpad, ypad); + Int_t lineColor = (zpad-zpos > 0) ? 2:3; + segmentation->GetPadC(mdig->fPadX + imark*offset, mdig->fPadY,xpad, ypad, zpad); marker=new TMarker3DBox(xpad,ypad,zpos,dpx,dpy,0,0,0); - marker->SetLineColor(2); + marker->SetLineColor(lineColor); marker->SetFillStyle(1001); marker->SetFillColor(color); marker->SetRefObject((TObject*)points); @@ -1113,11 +1132,11 @@ void AliMUONDisplay::LoadHits(Int_t chamber) points->SetMarkerColor(kRed); points->SetMarkerStyle(5); points->SetMarkerSize(1.); - points->SetParticle(mHit->fTrack); + points->SetParticle(mHit->Track()); points->SetHitIndex(hit); points->SetTrackIndex(track); points->SetDigitIndex(-1); - points->SetPoint(0,mHit->fX,mHit->fY,zpos); + points->SetPoint(0,mHit->X(),mHit->Y(),zpos); } nhold+=nhits; }