1 #ifndef ALIRICHPATREC_H
2 #define ALIRICHPATREC_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 ////////////////////////////////////////////////////////////////
10 // Pattern Recognition classes for set:RICH version 0 //
11 ////////////////////////////////////////////////////////////////
17 #include "AliHitMap.h"
22 class AliRICHPatRec : public TObject {
26 AliRICHPatRec(const char *name, const char *title);
27 virtual ~AliRICHPatRec() {}
29 Int_t TrackParam(Int_t itr, Int_t &ich, Float_t rectheta, Float_t recphi);
31 Float_t EstimationAtLimits(Float_t lim, Float_t radius, Float_t phiphot);
33 Float_t PhotonCerenkovAngle();
37 void PhotonSelection(Int_t track, Int_t &nphot, Float_t &thetamean);
39 void BackgroundEstimation();
41 void FlagPhotons(Int_t track, Float_t theta);
45 Float_t DistanceFromMip(Float_t nf,Float_t nq,
46 Float_t Em,Float_t th, Float_t ph, Float_t pointsOnCathode[3], Float_t rectheta, Float_t recphi);
48 Float_t PhiPad(Float_t rectheta, Float_t recphi);
50 //void CoordSphere(Float_t r, Float_t theta, Float_t phi, Float_t *x);
52 Float_t SnellAngle(Float_t n1, Float_t n2, Float_t theta1);
54 Float_t CherenkovAngle(Float_t n, Float_t beta);
55 // Old hough_filtering
56 void HoughFiltering(float HCS[]);
60 Float_t BetaCerenkov(Float_t n, Float_t theta);
62 //void CerenkovRingDrawing();
65 Int_t fNumEtaPhotons; // Number of photons
66 Float_t fEtaPhotons[1000]; // Cerenkov angle each photon
67 Float_t fWeightPhotons[1000]; // weight for each photon
68 Float_t fThetaCerenkov; // Theta angle for photon
69 Float_t fThetaPeakPos; // Peak position
71 Float_t fDTheta; //Step for sliding window
72 Float_t fWindowWidth; //Hough width of sliding window
76 Float_t fRw,fQw,fTgap; //
78 Float_t fTrackLoc[3]; // Position of track
79 Float_t fTrackTheta; // Theta angle for track (dip angle)
80 Float_t fTrackPhi; // Phi angle
81 Float_t fTrackMom; // Track momentum
82 Float_t fXpad; // x-position of pad hit
83 Float_t fYpad; // y-position of pad hit
84 Int_t fQpad; // Charge deposited
86 Float_t fXshift,fYshift; // Shifts in x and y
87 Float_t fEmissPoint; // Emission point for Cerenkov photons
88 Float_t fCerenkovAnglePad; // Cerenkov angle of single pad
89 Float_t fOnCathode[3]; // Point of exit from photocathode
92 ClassDef(AliRICHPatRec,1) //Pat Rec module for :RICH version 0