]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RICH/AliRICHPatRec.h
new code
[u/mrichter/AliRoot.git] / RICH / AliRICHPatRec.h
CommitLineData
237c933d 1#ifndef ALIRICHPATREC_H
2#define ALIRICHPATREC_H
e7257cad 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"
a2f7eaf6 17#include "AliHitMap.h"
e7257cad 18
19
20class AliRICHPatRec;
21
cc23c5c6 22class AliRICHPatRec : public TNamed
23{
e7257cad 24
25 public:
26 AliRICHPatRec();
27 AliRICHPatRec(const char *name, const char *title);
28 virtual ~AliRICHPatRec() {}
29 void PatRec();
74f08360 30 Int_t TrackParam(Int_t itr, Int_t &ich, Float_t rectheta, Float_t recphi);
e7257cad 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,
74f08360 47 Float_t Em,Float_t th, Float_t ph, Float_t pointsOnCathode[3], Float_t rectheta, Float_t recphi);
e7257cad 48 //Old GIME_PHI
74f08360 49 Float_t PhiPad(Float_t rectheta, Float_t recphi);
e7257cad 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
e0b63a71 63 //void CerenkovRingDrawing();
e7257cad 64
237c933d 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
e7257cad 74
75private:
76
237c933d 77 Float_t fRw,fQw,fTgap; //
e7257cad 78
237c933d 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
e7257cad 86
237c933d 87 Float_t fXshift,fYshift; // Shifts in x and y
88 Float_t fEmissPoint; // Emission point for Cerenkov photons
e7257cad 89 Float_t fCerenkovAnglePad; // Cerenkov angle of single pad
e0b63a71 90 Float_t fOnCathode[3]; // Point of exit from photocathode
e7257cad 91
e7257cad 92
237c933d 93 ClassDef(AliRICHPatRec,1) //Pat Rec module for :RICH version 0
e7257cad 94
237c933d 95};
e7257cad 96
97
98
99
100#endif