ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
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
71
double
fTrackResolution
;
72
double
fTimePrecision
;
73
74
double
pLow
;
75
double
pHigh
;
76
77
TH2F *
fpixMap
;
78
79
};
80
81
#endif
/* __PID_H__ */
ecce-detectors
blob
master
FastPID
mRICH
mRICH.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:45
using
1.8.2 with
ECCE GitHub integration