add NaN trap to linux version
[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"
17#include "AliRICHHitMap.h"
18
19
20class AliRICHPatRec;
21
22class AliRICHPatRec : public TObject {
23
24 public:
25 AliRICHPatRec();
26 AliRICHPatRec(const char *name, const char *title);
27 virtual ~AliRICHPatRec() {}
28 void PatRec();
29 Int_t TrackParam(Int_t itr, Int_t &ich);
30 //Old CERENK
31 Float_t EstimationAtLimits(Float_t lim, Float_t radius, Float_t phiphot);
32 //Old REC_ETAPHOT
33 Float_t PhotonCerenkovAngle();
34 //Old GIME_EMISSPOINT
35 void EmissionPoint();
36 //Old ITER_CUT
37 void PhotonSelection(Int_t track, Int_t &nphot, Float_t &thetamean);
38 //Old BKG_SUBTRACT
39 void BackgroundEstimation();
40 //Old FLAG_PHOTONS
41 void FlagPhotons(Int_t track, Float_t theta);
42 //Old NEWINBAND
43 Int_t PhotonInBand();
44 //Old RADII
45 Float_t DistanceFromMip(Float_t nf,Float_t nq,
e0b63a71 46 Float_t Em,Float_t th, Float_t ph, Float_t pointsOnCathode[3]);
e7257cad 47 //Old GIME_PHI
48 Float_t PhiPad();
49 //Old THREECOORD
50 //void CoordSphere(Float_t r, Float_t theta, Float_t phi, Float_t *x);
51 //Old ANGT
52 Float_t SnellAngle(Float_t n1, Float_t n2, Float_t theta1);
53 //Old TETCER
54 Float_t CherenkovAngle(Float_t n, Float_t beta);
55 // Old hough_filtering
56 void HoughFiltering(float HCS[]);
57 // Old hough_analysis
58 void HoughResponse();
59 //new
60 Float_t BetaCerenkov(Float_t n, Float_t theta);
61 //new
e0b63a71 62 //void CerenkovRingDrawing();
e7257cad 63
237c933d 64 public:
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
70
71 Float_t fDTheta; //Step for sliding window
72 Float_t fWindowWidth; //Hough width of sliding window
e7257cad 73
74private:
75
237c933d 76 Float_t fRw,fQw,fTgap; //
e7257cad 77
237c933d 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
e7257cad 85
237c933d 86 Float_t fXshift,fYshift; // Shifts in x and y
87 Float_t fEmissPoint; // Emission point for Cerenkov photons
e7257cad 88 Float_t fCerenkovAnglePad; // Cerenkov angle of single pad
e0b63a71 89 Float_t fOnCathode[3]; // Point of exit from photocathode
e7257cad 90
e7257cad 91
237c933d 92 ClassDef(AliRICHPatRec,1) //Pat Rec module for :RICH version 0
e7257cad 93
237c933d 94};
e7257cad 95
96
97
98
99#endif