]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RICH/AliRICHPatRec.h
New digitisation per particle type
[u/mrichter/AliRoot.git] / RICH / AliRICHPatRec.h
CommitLineData
e7257cad 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 "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,
46 Float_t Em,Float_t th, Float_t ph);
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
62 Float_t CherenkovRingDrawing(Float_t fixedthetacer);
63
64
65private:
66
67 Float_t fRw,fQw,fTgap;
68
69 Float_t fTrackLoc[3];
70 Float_t fTrackTheta;
71 Float_t fTrackPhi;
72 Float_t fTrackMom;
73 Float_t fXpad;
74 Float_t fYpad;
75 Int_t fQpad;
76
77 Float_t fXshift,fYshift;
78 Float_t fEmissPoint;
79 Float_t fCerenkovAnglePad; // Cerenkov angle of single pad
80 Float_t fPhotocatExitPhot;
81
82
83 public:
84 Int_t fNumEtaPhotons;
85 Float_t fEtaPhotons[1000]; // Cerenkov angle each photon
86 Float_t fWeightPhotons[1000]; // weight for each photon
87 Float_t fThetaCerenkov;
88 Float_t fThetaPeakPos;
89
90 Float_t fDTheta; //Step for sliding window
91 Float_t fWindowWidth; //Hough width of sliding window
92
93 ClassDef(AliRICHPatRec,1) //Pat Rec module for :RICH version 0
94
95 };
96
97
98
99
100#endif