* 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;
//
// Dump hit corresponding to this point
//
- AliRICHHit *hit = GetHit();
+ AliRICHhit *hit = GetHit();
if (hit) hit->Dump();
}
//
// Dump digit corresponding to this point
//
- AliRICHDigit *digit = GetDigit();
+ AliRICHdigit *digit = GetDigit();
if (digit) digit->Dump();
}
//
// Inspect hit corresponding to this point
//
- AliRICHHit *hit = GetHit();
+ AliRICHhit *hit = GetHit();
if (hit) hit->Inspect();
}
//
// Inspect digit corresponding to this point
//
- AliRICHDigit *digit = GetDigit();
+ AliRICHdigit *digit = GetDigit();
if (digit) digit->Inspect();
}
//
// 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
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) {
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();
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);
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],
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());