EIC Software
Reference for
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
PID.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PID.h
1
#ifndef __PID_H__
2
#define __PID_H__
3
4
//
5
// Hello PID Fans:
6
//
7
// This is the base class for a simple set of objects that
8
// are used to evaluate various detector technology choices for the EIC.
9
//
10
// The idea is simple. Regardless of PID detector technology choice
11
// one must be able to answer some simple questions. This virtual base class
12
// organizes the method of asking and answering these simple questions to
13
// allow for efficient and apples-to-apples comparisons.
14
//
15
// The base class requires that any derived class procide responses to several queries:
16
// -- valid (double eta, double p );
17
// -- numSigma(double eta, double p, PID::type PID);
18
// -- maxP (double eta, double numSigma, PID::type PID);
19
// -- minP (double eta, double numSigma, PID::type PID);
20
// -- name ();
21
//
22
// Here PID::type is an enumerated constant set allowing one to choose pi-vs-k or k-vs-p etc...
23
//
24
// The detector types that inherit from PID will clearly have parameters that define their
25
// performance and these are expected to be arguments of the constructor of those derived classes.
26
// For example:
27
// PID* tof = new tofBarrel(radius, etaLow, etaHigh, sigmaT);
28
//
29
//
30
31
#include <string>
32
33
class
PID
34
{
35
public
:
36
PID
() {}
37
virtual
~PID
() {}
38
39
enum
type
{
pi_k
,
k_p
};
40
41
virtual
bool
valid
(
double
eta
,
double
p
)=0;
42
virtual
double
numSigma
(
double
eta
,
double
p
,
PID::type
PID
)=0;
43
virtual
double
maxP
(
double
eta
,
double
numSigma
,
PID::type
PID
)=0;
44
virtual
double
minP
(
double
eta
,
double
numSigma
,
PID::type
PID
)=0;
45
virtual
std::string
name
()=0;
46
virtual
void
description
()=0;
47
48
protected
:
49
50
};
51
52
#endif
/* __PID_H__ */
eic-smear
blob
master
include
eicsmear
smear
PID.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:32
using
1.8.2 with
EIC GitHub integration