ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mRICH.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file mRICH.h
1 #ifndef __MRICH_H__
2 #define __MRICH_H__
3 
4 //
5 // Hello mRICH Fans:
6 //
7 // This is an example class that inherits from the PID base class.
8 // We shall implement all the necessary functions as required by the
9 // base class.
10 //
11 // The UNIQUE identifiers for this class are radius, eta extent, and
12 // time resolution.
13 //
14 // Note that in keeping with any well written base class, we shall
15 // give default values to all the constructor arguments.
16 //
17 // This routine assumes units of cm for distances and picoSeconds for time.
18 //
19 
20 #include "PID.h"
21 #include "TVector3.h"
22 #include "TRandom.h"
23 #include <iostream>
24 #include <TH1.h>
25 #include <TH2.h>
26 
27 
28 class mRICH: public PID
29 {
30 public:
31  mRICH(double trackResolution=0.5, double timePrecision=1.0, double pixS=0.5, double p=5.0);
32  virtual ~mRICH() {}
33 
34  //bool valid (double eta, double p) {return (((eta>-8&&eta<-1) || (eta>1&&eta<8)) && (p>pLow && p<pHigh));}
35  bool valid (double eta, double p) {return (((eta>-8&&eta<8)) && (p>pLow && p<pHigh));}
36  double maxP (double eta, double p, double numSigma, PID::type PID);
37  double minP (double eta, double numSigma, PID::type PID) {return 0;}
38  string name () {return myName;}
39  void description ();
40  void ReadMap(TString name);
41  double getAng(double mass);
42  double getdAng(double mass);
43  double getNgamma(double t, double mass);
44  double T_Aer(double t, double lam);
45  double T_QE(double lam);
46 
47  double SetLensFocalLength(double f);
48  double SetAerogelThickness(double t);
49  double GetmRICHParameters();
50 
51  protected:
52  std::string myName;
53 
54  double Nsigma;
55 
56  // Physical constants (should come from elsewhere!)
57  double mPion; // GeV/c^2
58  double mKaon; // GeV/c^2
59  double mProton; // GeV/c^2
60  double mom; // GeV/c
61  double c; // cm/picosecond;
62  double n;
63  double f; //mm
64  double a; //mm
65  double N_gam;
66  double pi;
67  double alpha;
68  double L;
69  double th0;
70 
73 
74  double pLow;
75  double pHigh;
76 
77  TH2F *fpixMap;
78 
79 };
80 
81 #endif /* __PID_H__ */