]>
Commit | Line | Data |
---|---|---|
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 |