ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EICPIDDefs.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file EICPIDDefs.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef EICPID_EICPIDDefs_H
4 #define EICPID_EICPIDDefs_H
5 
6 #include <climits>
7 #include <map>
8 #include <string>
9 
10 namespace EICPIDDefs
11 {
12 // sync PID particle keys to the key of tracks
13 typedef unsigned int keytype;
14 static const keytype INVALID_KEY = UINT_MAX;
15 
17 {
18  PIDAll = 0,
19  mRICH = 1,
20  DIRC = 2,
22  dRICH_Gas = 4,
23  GasRICH = 5,
24 
25  ETTL = 11,
26  CTTL = 12,
27  FTTL = 13,
28 
30 };
31 
32 const std::map<std::string, PIDDetector> PIDDetectorNameMap = {
33  {"PIDAll", PIDAll},
34  {"mRICH", mRICH},
35  {"DIRC", DIRC},
36  {"dRICH_AeroGel", dRICH_AeroGel},
37  {"dRICH_Gas", dRICH_Gas},
38  {"GasRICH", GasRICH},
39  {"ETTL", ETTL},
40  {"CTTL", CTTL},
41  {"FTTL", FTTL}};
42 
43 // consistent with PDG encoding
45 {
48  PionCandiate = 211,
49  KaonCandiate = 321,
52 };
53 
55 PIDDetector getPIDDetector(const std::string& name);
56 
57 const std::string& getPIDDetectorName(const PIDDetector det);
58 
59 } // namespace EICPIDDefs
60 
61 #endif