Code cleaning, all wranings removed with new Makefile options
[u/mrichter/AliRoot.git] / RICH / AliRICHPatRec.h
1 #ifndef ALIRICHPATREC_H
2 #define ALIRICHPATREC_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 ////////////////////////////////////////////////////////////////
10 //   Pattern Recognition classes for set:RICH version 0       //
11 ////////////////////////////////////////////////////////////////
12
13 #include <TObject.h>
14 #include <TMath.h>
15
16 #include "AliRICH.h"
17 #include "AliHitMap.h"
18
19
20 class AliRICHPatRec;
21
22 class AliRICHPatRec : public TNamed
23 {
24     
25  public:
26   AliRICHPatRec();
27   AliRICHPatRec(const char *name, const char *title);
28   virtual       ~AliRICHPatRec() {}
29   void   PatRec();
30   Int_t   TrackParam(Int_t itr, Int_t &ich, Float_t rectheta, Float_t recphi);
31   //Old CERENK
32   Float_t EstimationAtLimits(Float_t lim, Float_t radius, Float_t phiphot);  
33   //Old REC_ETAPHOT
34   Float_t PhotonCerenkovAngle();
35   //Old GIME_EMISSPOINT
36   void EmissionPoint();
37   //Old ITER_CUT
38   void PhotonSelection(Int_t track, Int_t &nphot, Float_t &thetamean);
39   //Old BKG_SUBTRACT
40   void BackgroundEstimation();
41   //Old FLAG_PHOTONS
42   void FlagPhotons(Int_t track, Float_t theta);
43   //Old NEWINBAND
44   Int_t PhotonInBand();
45   //Old RADII
46   Float_t DistanceFromMip(Float_t nf,Float_t nq,
47                                     Float_t Em,Float_t th, Float_t ph, Float_t pointsOnCathode[3], Float_t rectheta, Float_t recphi);
48   //Old GIME_PHI
49   Float_t PhiPad(Float_t rectheta, Float_t recphi);
50   //Old THREECOORD
51   //void CoordSphere(Float_t r, Float_t theta, Float_t phi, Float_t *x);
52   //Old ANGT
53   Float_t SnellAngle(Float_t n1, Float_t n2, Float_t theta1);
54   //Old TETCER
55   Float_t CherenkovAngle(Float_t n, Float_t beta);
56   // Old hough_filtering
57   void HoughFiltering(float HCS[]);
58   // Old hough_analysis
59   void HoughResponse();
60   //new
61   Float_t BetaCerenkov(Float_t n, Float_t theta);  
62   //new
63   //void CerenkovRingDrawing();
64
65  public:
66   Int_t   fNumEtaPhotons;                 // Number of photons
67   Float_t fEtaPhotons[1000];              // Cerenkov angle each photon
68   Float_t fWeightPhotons[1000];           // weight for each photon
69   Float_t fThetaCerenkov;                 // Theta angle for photon
70   Float_t fThetaPeakPos;                  // Peak position
71
72   Float_t fDTheta;                        //Step for sliding window
73   Float_t fWindowWidth;                   //Hough width of sliding window
74
75 private:
76
77   Float_t fRw,fQw,fTgap;                  //  
78
79   Float_t fTrackLoc[3];                   // Position of track
80   Float_t fTrackTheta;                    // Theta angle for track (dip angle)
81   Float_t fTrackPhi;                      // Phi angle
82   Float_t fTrackMom;                      // Track momentum
83   Float_t fXpad;                          // x-position of pad hit
84   Float_t fYpad;                          // y-position of pad hit
85   Int_t   fQpad;                          // Charge deposited
86
87   Float_t fXshift,fYshift;                // Shifts in x and y
88   Float_t fEmissPoint;                    // Emission point for Cerenkov photons
89   Float_t fCerenkovAnglePad;              // Cerenkov angle of single pad
90   Float_t fOnCathode[3];                 // Point of exit from photocathode 
91
92
93   ClassDef(AliRICHPatRec,1)                //Pat Rec module for :RICH version 0
94       
95 };
96
97
98         
99         
100 #endif