EIC Software
 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 
10 #ifndef INCLUDE_EICSMEAR_ERHIC_PID_H_
11 #define INCLUDE_EICSMEAR_ERHIC_PID_H_
12 
13 #include <Rtypes.h>
14 
15 class TParticlePDG;
16 
17 namespace erhic {
18 
22 class Pid {
23  public:
28  static Int_t InvalidCode();
29 
34  Pid(Int_t pdg = Pid::InvalidCode());
35 
37  virtual ~Pid();
38 
40  Int_t Code() const;
41 
46  void Set(Int_t pdg);
47 
53  TParticlePDG* Info() const;
54 
59  operator Int_t() const;
60 
65  bool operator==(Int_t i) const;
66 
71  bool operator<(Int_t i) const;
72 
77  bool operator>(Int_t i) const;
78 
83  bool operator!=(Int_t i) const;
84 
89  bool operator<=(Int_t i) const;
90 
95  bool operator>=(Int_t i) const;
96 
97  protected:
98  Int_t mCode;
99 
100  ClassDef(erhic::Pid, 1)
101 };
102 
103 inline Pid::operator Int_t() const { return mCode; }
104 
105 inline Int_t Pid::Code() const { return mCode; }
106 
107 inline void Pid::Set(Int_t code) { mCode = code; }
108 
109 inline bool Pid::operator==(Int_t i) const { return mCode == i; }
110 
111 inline bool Pid::operator<(Int_t i) const { return mCode < i; }
112 
113 inline bool Pid::operator>(Int_t i) const { return mCode > i; }
114 
115 inline bool Pid::operator!=(Int_t i) const { return !operator==(i); }
116 
117 inline bool Pid::operator<=(Int_t i) const { return mCode <= i; }
118 
119 inline bool Pid::operator>=(Int_t i) const { return mCode >= i; }
120 
121 } // namespace erhic
122 
123 #endif // INCLUDE_EICSMEAR_ERHIC_PID_H_