]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RICH/AliRICHDisplay.cxx
Minor corrections on the display (adc counts readable, ...).
[u/mrichter/AliRoot.git] / RICH / AliRICHDisplay.cxx
index 1183241f70da6e349fa3baf164dbbef176924a09..499f9e16f2a15f646d3be4479b1d6e0a54c9ab9d 100644 (file)
 
 /*
   $Log$
+  Revision 1.17  2001/10/23 13:03:35  hristov
+  The access to several data members was changed from public to protected. The digitisation was adapted to the multi-event case (J.Chudoba)
+
+  Revision 1.16  2001/10/21 18:31:24  hristov
+  Several pointers were set to zero in the default constructors to avoid memory management problems
+
+  Revision 1.15  2001/10/09 07:34:09  hristov
+  Modifications needed by Root.03.01.06 (J.Chudoba)
+
+  Revision 1.14  2001/05/16 14:57:20  alibrary
+  New files for folders and Stack
+
+  Revision 1.13  2001/05/10 12:35:16  jbarbosa
+  Removed hit display, added rec. ring properties.
+
   Revision 1.12  2001/03/14 18:15:03  jbarbosa
   Changes to adapt to new IO.
   Removed verbose output.
 #include "AliRICHConst.h"
 #include "AliRICHDisplay.h"
 #include "AliRICHPoints.h"
+#include "AliHeader.h"
 
 #include "AliRICHHit.h"
 #include "AliRICHCerenkov.h"
@@ -113,7 +129,7 @@ AliRICHDisplay::AliRICHDisplay()
 { 
 
 // default constructor
-
+    fColPad = 0;
     fPoints = 0;
     fPhits = 0;
     fPCerenkovs = 0;
@@ -184,8 +200,10 @@ AliRICHDisplay::AliRICHDisplay(Int_t size)
     SetRange();
     
     // Set front view by default
-    fTheta = 90;
-    fPhi   = 90;
+    //fTheta = 90;              //inclined HMPID
+    //fPhi   = 30;              //inclined HMPID
+    fTheta = 90;               //normal HMPID
+    fPhi   = 90;                //normal HMPID
     fPsi   = 0;
     fChamber = 1;
     fCathode = 1;
@@ -238,7 +256,6 @@ AliRICHDisplay::AliRICHDisplay(Int_t size)
     Float_t dxtr     = 0.15;
     Float_t dytr     = 0.45;
     fTrigPad = new TPad("trigger", "range and mode pad",0,0,dxtr,dytr);
-    fTrigPad->SetEditable(kFALSE);
     fTrigPad->Draw();
     fTrigPad->cd();
     fTrigPad->SetFillColor(22);
@@ -263,6 +280,8 @@ AliRICHDisplay::AliRICHDisplay(Int_t size)
     button->Draw();
     AppendPad(); // append display object as last object to force selection
     
+    fTrigPad->SetEditable(kFALSE);
+    fButtons->SetEditable(kFALSE);
     fCanvas->cd();
     fCanvas->Update();
 }
@@ -306,7 +325,6 @@ void AliRICHDisplay::DisplayButtons()
     
     
     fButtons = new TPad("buttons", "newpad",0,0.45,0.15,1);
-    fButtons->SetEditable(kFALSE);
     fButtons->Draw();
     fButtons->SetFillColor(38);
     fButtons->SetBorderSize(2);
@@ -440,7 +458,7 @@ void AliRICHDisplay::DisplayColorScale()
     gPad->Range(x1,y1,x2,y2);
     TText *text = new TText(0,0,"");
     text->SetTextFont(61);
-    text->SetTextSize(0.03);
+    text->SetTextSize(0.2);
     text->SetTextAlign(22);
     
     TBox *box;
@@ -687,7 +705,7 @@ void AliRICHDisplay::DrawView(Float_t theta, Float_t phi, Float_t psi)
    //add clusters to the pad
    DrawClusters();
    //DrawHits();
-//   DrawCerenkovs();
+   //DrawCerenkovs();
    if (gAlice->TreeR())
      {
        //printf("Calling DrawCoG\n");
@@ -866,7 +884,7 @@ void AliRICHDisplay::LoadRecHits(Int_t chamber, Int_t cathode)
             fRecpoints->AddAt(points1D,irec);
             points1D->SetMarkerColor(38);
             points1D->SetMarkerStyle(8);
-            points1D->SetMarkerSize(1.);
+            points1D->SetMarkerSize(.5);
             points1D->SetParticle(-1);
             points1D->SetHitIndex(-1);
             points1D->SetTrackIndex(-1);
@@ -936,9 +954,12 @@ void AliRICHDisplay::LoadRecHits(Int_t chamber, Int_t cathode)
             //printf("Generating ellipse %d\n",irec);
             AliRICHEllipse *ellipse=new AliRICHEllipse(mRec3D->fX,mRec3D->fY,mRec3D->fOmega,mRec3D->fTheta,mRec3D->fPhi,0.75);
             printf("Ring at x:%f, y:%f - Omega:%f rad, theta:%3.1f deg, phi:%3.1f deg\n",mRec3D->fX,mRec3D->fY,mRec3D->fOmega,mRec3D->fTheta*180/TMath::Pi(),mRec3D->fPhi*180/TMath::Pi());
-            ellipse->CerenkovRingDrawing(chamber,irec);
+            //ellipse->CerenkovRingDrawing(chamber,irec);
             //ellipse->SetFillStyle(1001);
+            ellipse->CreatePoints(chamber);
+            ellipse->SetMarkerStyle(7);
             ellipse->SetMarkerColor(42);
+            ellipse->SetMarkerSize(1);
             ellipse->Draw();
             //marker->SetRefObject((TObject*)points3D);
             //points3D->Set3DMarker(0, marker); 
@@ -1003,7 +1024,7 @@ void AliRICHDisplay::LoadDigits()
           points = new AliRICHPoints(npoints);
           fPoints->AddAt(points,counter);
           counter++;
-          Int_t charge=mdig->fSignal;
+          Int_t charge=mdig->Signal();
           Int_t index=Int_t(TMath::Log(charge)/(TMath::Log(adc_satm)/22));
           Int_t color=701+index;
           if (color>722) color=722;
@@ -1011,7 +1032,7 @@ void AliRICHDisplay::LoadDigits()
           points->SetMarkerStyle(21);
           points->SetMarkerSize(0.5);
           Float_t xpad, ypad, zpad;
-          segmentation->GetPadC(mdig->fPadX, mdig->fPadY,xpad, ypad, zpad);
+          segmentation->GetPadC(mdig->PadX(), mdig->PadY(),xpad, ypad, zpad);
           Float_t vectorLoc[3]={xpad,5,ypad};
           Float_t  vectorGlob[3];
           iChamber->LocaltoGlobal(vectorLoc,vectorGlob);
@@ -1022,7 +1043,7 @@ void AliRICHDisplay::LoadDigits()
           points->SetPoint(0,vectorGlob[0],vectorGlob[1],vectorGlob[2]);
           //printf("Y position (digit): %f\n", vectorGlob[1]);
           
-          segmentation->GetPadC(mdig->fPadX, mdig->fPadY, xpad, ypad, zpad);
+          segmentation->GetPadC(mdig->PadX(), mdig->PadY(), xpad, ypad, zpad);
           Float_t theta = iChamber->GetRotMatrix()->GetTheta();
           Float_t phi   = iChamber->GetRotMatrix()->GetPhi();     
           marker=new TMarker3DBox(vectorGlob[0],vectorGlob[1],vectorGlob[2],