]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONDisplay.cxx
Adding comments only
[u/mrichter/AliRoot.git] / MUON / AliMUONDisplay.cxx
index b68efd472d1978c450df4782aabc3c0f615f1dab..9205a0dffa5243335741e567114a4d4bc7283e01 100644 (file)
@@ -89,6 +89,7 @@
 #include "AliMpTriggerSegmentation.h"
 #include "AliMpTrigger.h"
 #include "AliMpStationType.h"
+#include "AliMpCathodType.h"
 #include "AliMpDEManager.h"
 
 #include "AliMC.h"
 #include <TButton.h>
 #include <TColor.h>
 #include <TCanvas.h>
+#if ROOT_VERSION_CODE>= 331523
+#include <TView3D.h>
+#else
 #include <TView.h>
+#endif
 #include <TText.h>
 #include <TPaveLabel.h>
 #include <TPaveText.h>
@@ -778,7 +783,13 @@ void AliMUONDisplay::DrawView(Float_t theta, Float_t phi, Float_t psi)
   gPad->SetFillColor(1);
   
   Int_t iret=0;
+#if ROOT_VERSION_CODE>= 331523
+   Double_t rmin[]={-1,-1,-1};
+   Double_t rmax[]={ 1, 1, 1};
+   TView *view = new TView3D(1,rmin,rmax);
+#else
   TView *view = new TView(1);
+#endif
   
   Float_t range = fRrange*fRangeSlider->GetMaximum();
   view->SetRange(-range,-range,-range,range, range, range);
@@ -810,9 +821,9 @@ void AliMUONDisplay::DrawView(Float_t theta, Float_t phi, Float_t psi)
     AliMpDEIterator it;
     for ( it.First(fChamber-1); ! it.IsDone(); it.Next() ) {
       
-      Int_t detElemId = it.CurrentDE();
+      Int_t detElemId = it.CurrentDEId();
       AliMpSectorSegmentation * seg =   
-        (AliMpSectorSegmentation *) AliMpSegmentation::Instance()->GetMpSegmentation(detElemId, 0);
+        (AliMpSectorSegmentation *) AliMpSegmentation::Instance()->GetMpSegmentation(detElemId, AliMp::kCath0);
       const AliMpSector * sector = seg->GetSector();
       
       // get sector measurements
@@ -850,13 +861,13 @@ void AliMUONDisplay::DrawView(Float_t theta, Float_t phi, Float_t psi)
     AliMpDEIterator it;
     for ( it.First(fChamber-1); ! it.IsDone(); it.Next() ) 
     {
-      Int_t detElemId = it.CurrentDE();
-      AliMpStationType stationType = AliMpDEManager::GetStationType(detElemId);
+      Int_t detElemId = it.CurrentDEId();
+      AliMp::StationType stationType = AliMpDEManager::GetStationType(detElemId);
 
       if (  segmentation->HasDE(detElemId) ) 
       {
         const AliMpVSegmentation* seg 
-         = AliMpSegmentation::Instance()->GetMpSegmentation(detElemId, 0);
+         = AliMpSegmentation::Instance()->GetMpSegmentation(detElemId, AliMp::kCath0);
         if (seg) 
         {  
           Float_t deltax = seg->Dimensions().X();
@@ -875,10 +886,10 @@ void AliMUONDisplay::DrawView(Float_t theta, Float_t phi, Float_t psi)
           TMarker3DBox* box = new TMarker3DBox(xCenter,yCenter,0,xlocal1,ylocal2,0,0,0);
           
           box->SetFillStyle(0);
-          box->SetLineColor( stationType == kStationTrigger ? 4 : 2);
+          box->SetLineColor( stationType == AliMp::kStationTrigger ? 4 : 2);
           box->Draw("s");
           
-          if ( stationType == kStation345 )
+          if ( stationType == AliMp::kStation345 )
           {
             // drawing inner circle + disc
             TPolyLine3D* poly  = new  TPolyLine3D();
@@ -928,7 +939,13 @@ void AliMUONDisplay::DrawGlobalView(Float_t theta, Float_t phi, Float_t psi)
     
 
     Int_t iret=0;
+#if ROOT_VERSION_CODE>= 331523
+    Double_t rmin[]={-1,-1,-1};
+    Double_t rmax[]={ 1, 1, 1};
+    TView *view = new TView3D(1,rmin,rmax);
+#else
     TView *view = new TView(1);
+#endif
     
     Float_t range = fRrange*fRangeSlider->GetMaximum()*3.;
     view->SetRange(-range,-range,-range,range,range,range);
@@ -1061,7 +1078,7 @@ void AliMUONDisplay::LoadDigits(Int_t chamber, Int_t cathode)
     }
     
     Int_t ndigits = muonDigits->GetEntriesFast();    
-    if (ndigits == 0) return;
+    if (ndigits == 0) return;  
     if (fPoints == 0) fPoints = new TObjArray(ndigits);
     
     Float_t zpos = AliMUONConstants::DefaultChamberZ(chamber-1);
@@ -1175,7 +1192,8 @@ void AliMUONDisplay::LoadDigits(Int_t chamber, Int_t cathode)
            if (color > 282) color = 282;
            
            const AliMpVSegmentation* seg = 
-               AliMpSegmentation::Instance()->GetMpSegmentation(detElemId,cathode-1);
+              AliMpSegmentation::Instance()
+                ->GetMpSegmentation(detElemId,AliMp::GetCathodType(cathode-1));
            
            AliMpPad pad = seg->PadByIndices(AliMpIntPair(ix,iy),kTRUE);
            
@@ -1321,11 +1339,8 @@ void AliMUONDisplay::LoadTracks()
     Float_t yRec=0;
     Float_t zRec=0;
 
-    trackParam = recTrack->GetTrackParamAtVertex(); 
-    xRec  = trackParam->GetNonBendingCoor();
-    yRec  = trackParam->GetBendingCoor();
-    zRec  = trackParam->GetZ();
-    points->SetPoint(iPoint,xRec,yRec,zRec);
+    // vertex unknown at the tracking level -> put it at (0,0,0)
+    points->SetPoint(iPoint,0.,0.,0.);
     iPoint++;  
 
     for (Int_t iHit = 0; iHit < nTrackHits; iHit++){
@@ -1347,13 +1362,13 @@ void AliMUONDisplay::LoadTracks()
 void AliMUONDisplay::PrintTrack(Int_t iRecTracks, AliMUONTrack *recTrack)
 {
 /// Print reconstructed track
-
+  
   AliMUONTrackParam *trackParam;
   Float_t vertex[3], momentum[3];
   Float_t pYZ, bendingSlope, nonBendingSlope, chi2dof;
   Int_t charge;
 
-  trackParam = recTrack->GetTrackParamAtVertex();
+  trackParam = recTrack->GetTrackParamAtVertex(); // meaningless since the vertex is not known at the tracking level
   vertex[0] = trackParam->GetNonBendingCoor();
   vertex[1] = trackParam->GetBendingCoor();
   vertex[2] = trackParam->GetZ();
@@ -1367,6 +1382,9 @@ void AliMUONDisplay::PrintTrack(Int_t iRecTracks, AliMUONTrack *recTrack)
   chi2dof = recTrack->GetFitFMin()/(2.0 * recTrack->GetNTrackHits() - 5.);
   
   printf("===================================================\n");
+  printf("//*****************************************************************//\n");
+  printf("// meaningless since the vertex is not known at the tracking level //\n");
+  printf("//*****************************************************************//\n");
   printf(" Reconstructed track # %d \n",iRecTracks);
   printf(" charge: %d \n",charge);
   printf(" vertex x,y,z (cm): %f %f %f \n",vertex[0],vertex[1],vertex[2]);