]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RICH/AliRICHPoints.cxx
AliCRTModule added
[u/mrichter/AliRoot.git] / RICH / AliRICHPoints.cxx
index ee7e08ed71f82e2a3e0bdb8702b64f27d8dc56f2..b164f227d7982e3a10219f4283e8cf0ade320f7c 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/*
-  $Log$
-  Revision 1.8  2001/01/26 20:00:27  hristov
-  Major upgrade of AliRoot code
-
-  Revision 1.7  2000/11/02 09:10:57  jbarbosa
-  Removed AliRICHRecHit.h from include.
-
-  Revision 1.6  2000/10/03 21:44:09  morsch
-  Use AliSegmentation and AliHit abstract base classes.
-
-  Revision 1.5  2000/10/02 21:28:12  fca
-  Removal of useless dependecies via forward declarations
-
-  Revision 1.4  2000/10/02 15:50:43  jbarbosa
-  Fixed forward declarations.
-
-  Revision 1.3  2000/06/12 15:26:36  jbarbosa
-  Cleaned up version.
-
-  Revision 1.2  2000/05/18 13:43:54  jbarbosa
-  Added the ShowRing function.
-
-  Revision 1.1  2000/04/19 13:16:47  morsch
-  Minor changes on class names.
-
-*/
-
-
 ///////////////////////////////////////////////////////////////////////////////
 //                                                                           //
 //  This class contains the points for the ALICE event display               //
 //                                                                           //
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
+#include "AliRICHPoints.h"
+#include "AliRICHDisplay.h"
+#include "AliRICHChamber.h"
+#include "AliRICH.h"
+#include "AliRICHSDigit.h"
 #include <TPad.h>
 #include <TTree.h>
 #include <TView.h>
 #include <TMath.h>
 #include <TPolyMarker3D.h>
 #include <TMarker3DBox.h>
-
-#include <AliRICH.h>
-#include "TParticle.h"
-#include "AliRICHDisplay.h"
-#include "AliRICHPoints.h"
-#include "AliRun.h"
-#include "AliRICHHit.h"
-#include "AliRICHCerenkov.h"
-#include "AliRICHSDigit.h"
-#include "AliRICHDigit.h"
-#include "AliRICHRawCluster.h"
+#include <TParticle.h>
+#include <AliRun.h>
+#include <AliMC.h>
+#include <TRotMatrix.h>
 
 const Int_t kMaxNipx=400, kMaxNipy=800;
  
@@ -118,7 +87,7 @@ void AliRICHPoints::DumpHit()
   //
   //   Dump hit corresponding to this point
   //
-  AliRICHHit *hit = GetHit();
+  AliRICHhit *hit = GetHit();
   if (hit) hit->Dump();
 }
 
@@ -128,7 +97,7 @@ void AliRICHPoints::DumpDigit()
   //
   //   Dump digit corresponding to this point
   //
-  AliRICHDigit *digit = GetDigit();
+  AliRICHdigit *digit = GetDigit();
   if (digit) digit->Dump();
 }
 
@@ -138,7 +107,7 @@ void AliRICHPoints::InspectHit()
   //
   //   Inspect hit corresponding to this point
   //
-  AliRICHHit *hit = GetHit();
+  AliRICHhit *hit = GetHit();
   if (hit) hit->Inspect();
 }
 
@@ -148,7 +117,7 @@ void AliRICHPoints::InspectDigit()
   //
   //   Inspect digit corresponding to this point
   //
-  AliRICHDigit *digit = GetDigit();
+  AliRICHdigit *digit = GetDigit();
   if (digit) digit->Inspect();
 }
 
@@ -168,26 +137,26 @@ TParticle *AliRICHPoints::GetParticle() const
   //
   //   Returns pointer to particle index in AliRun::fParticles
   //
-  if (fIndex < 0 || fIndex >= gAlice->GetNtrack()) return 0;
-  return gAlice->Particle(fIndex);
+  if (fIndex < 0 || fIndex >= gAlice->GetMCApp()->GetNtrack()) return 0;
+  return gAlice->GetMCApp()->Particle(fIndex);
 }
 
 //_____________________________________________________________________________
-AliRICHHit *AliRICHPoints::GetHit() const
+AliRICHhit *AliRICHPoints::GetHit() const
 {
   //
   //   Returns pointer to hit index in AliRun::fParticles
   //
   AliRICH *pRICH  = (AliRICH*)gAlice->GetDetector("RICH");
-  gAlice->TreeH()->GetEvent(fTrackIndex);
+  pRICH->TreeH()->GetEvent(fTrackIndex);
   TClonesArray *pRICHhits  = pRICH->Hits();
   Int_t nhits = pRICHhits->GetEntriesFast();
   if (fHitIndex < 0 || fHitIndex >= nhits) return 0;
-  return (AliRICHHit*)pRICHhits->UncheckedAt(fHitIndex);
+  return (AliRICHhit*)pRICHhits->UncheckedAt(fHitIndex);
 }
 
 //_____________________________________________________________________________
-AliRICHDigit *AliRICHPoints::GetDigit() const
+AliRICHdigit *AliRICHPoints::GetDigit() const
 {
   //
   //   Returns pointer to digit index in AliRun::fParticles
@@ -198,11 +167,11 @@ AliRICHDigit *AliRICHPoints::GetDigit() const
   Int_t cathode=display->GetCathode();
    
   AliRICH *pRICH  = (AliRICH*)gAlice->GetDetector("RICH");
-  TClonesArray *pRICHdigits  = pRICH->DigitsAddress(chamber-1);
+  TClonesArray *pRICHdigits  = pRICH->Digits(chamber);
   gAlice->TreeD()->GetEvent(cathode);
   Int_t ndigits = pRICHdigits->GetEntriesFast();
   if (fDigitIndex < 0 || fDigitIndex >= ndigits) return 0;
-  return (AliRICHDigit*)pRICHdigits->UncheckedAt(fDigitIndex);
+  return (AliRICHdigit*)pRICHdigits->UncheckedAt(fDigitIndex);
 }
 //----------------------------------------------------------------------------
 void AliRICHPoints::ShowRing(Int_t highlight) {
@@ -219,12 +188,12 @@ void AliRICHPoints::ShowRing(Int_t highlight) {
   AliRICHPoints *points = 0;
   TMarker3DBox  *marker = 0;
     
-  AliRICHHit *mHit = GetHit();
+  AliRICHhit *mHit = GetHit();
 
-  printf("Hit %d on chamber: %d\n",fHitIndex, mHit->fChamber);
+  printf("Hit %d on chamber: %d\n",fHitIndex, mHit->Chamber());
 
-  TClonesArray *digits  = pRICH->DigitsAddress(mHit->fChamber - 1);
-  iChamber = &(pRICH->Chamber(mHit->fChamber - 1));
+  TClonesArray *digits  = pRICH->Digits(mHit->Chamber());
+  iChamber = &(pRICH->Chamber(mHit->Chamber() - 1));
   segmentation=iChamber->GetSegmentationModel();
 
   Float_t dpx  = segmentation->Dpx();
@@ -235,25 +204,24 @@ void AliRICHPoints::ShowRing(Int_t highlight) {
   printf("Show Ring called with %d digits\n",ndigits);
   
   for (int digit=0;digit<ndigits;digit++) {
-    AliRICHDigit *mdig = (AliRICHDigit*)digits->UncheckedAt(digit);
+    AliRICHdigit *mdig = (AliRICHdigit*)digits->UncheckedAt(digit);
     points = new AliRICHPoints(1);
     
      //printf("Particle %d belongs to ring %d \n", fTrackIndex, mdig->fTracks[1]);
 
     if (!points) continue;
-    if (fTrackIndex == mdig->fTracks[0]) {
+    if (fTrackIndex == mdig->Tid(0)) {
 
-      printf("Digit %d from particle %d belongs to ring %d \n", digit, fTrackIndex, mdig->fTracks[0]);
 
-      Int_t charge=mdig->fSignal;
-      Int_t index=Int_t(TMath::Log(charge)/(TMath::Log(adc_satm)/22));
+      Int_t charge=(Int_t)mdig->Q();
+      Int_t index=Int_t(TMath::Log(charge)/(TMath::Log(kadc_satm)/22));
       Int_t color=701+index;
       if (color>722) color=722;
       points->SetMarkerColor(color);
       points->SetMarkerStyle(21);
       points->SetMarkerSize(.5);
       Float_t xpad, ypad, zpad;
-      segmentation->GetPadC(mdig->fPadX, mdig->fPadY,xpad, ypad, zpad);
+      segmentation->GetPadC(mdig->X(), mdig->Y(),xpad, ypad, zpad);
       Float_t vectorLoc[3]={xpad,6.276,ypad};
       Float_t  vectorGlob[3];
       points->SetParticle(-1);
@@ -263,7 +231,7 @@ void AliRICHPoints::ShowRing(Int_t highlight) {
       iChamber->LocaltoGlobal(vectorLoc,vectorGlob);
       points->SetPoint(0,vectorGlob[0],vectorGlob[1],vectorGlob[2]);
       
-      segmentation->GetPadC(mdig->fPadX, mdig->fPadY, xpad, ypad, zpad);
+      segmentation->GetPadC(mdig->X(), mdig->Y(), xpad, ypad, zpad);
       Float_t theta = iChamber->GetRotMatrix()->GetTheta();
       Float_t phi   = iChamber->GetRotMatrix()->GetPhi();         
       marker=new TMarker3DBox(vectorGlob[0],vectorGlob[1],vectorGlob[2],
@@ -280,7 +248,7 @@ void AliRICHPoints::ShowRing(Int_t highlight) {
        if (marker)
          marker->Draw();
       }
-      TParticle *p = gAlice->Particle(fIndex);
+      TParticle *p = gAlice->GetMCApp()->Particle(fIndex);
       printf("\nTrack index %d\n",fTrackIndex);
       printf("Particle ID %d\n",p->GetPdgCode());
       printf("Parent %d\n",p->GetFirstMother());