MpdPhoton.h 924 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef MPDPHOTON_H
  2. #define MPDPHOTON_H
  3. #include "TLorentzVector.h"
  4. class MpdPhoton: public TLorentzVector{
  5. public:
  6. MpdPhoton() = default ;
  7. MpdPhoton(float px, float py, float pz, float e):TLorentzVector(px,py,pz,e) {}
  8. ~MpdPhoton() override = default ;
  9. unsigned int pidWord() const {return mPID ;}
  10. bool pidBit(int iBit)const { return (mPID>>iBit)&1 ;}
  11. void setPidWord(unsigned int w) {mPID = w; }
  12. void setPidBit(int iBit, int what = 1) {mPID ^= (-what ^ mPID) & (1 << iBit); }
  13. int primary() const { return mPrimary ;}
  14. void setPrimary(int p) { mPrimary = p ;}
  15. void setTr1(int tr){mTr1 = tr ;}
  16. void setTr2(int tr){mTr2 = tr ;}
  17. int getTr1(){ return mTr1 ;}
  18. int getTr2(){ return mTr2 ;}
  19. private:
  20. unsigned int mPID = 0 ; // use to keep PID cuts
  21. int mPrimary = 0;
  22. int mTr1 = -1;
  23. int mTr2 = -1;
  24. ClassDefOverride(MpdPhoton, 1);
  25. } ;
  26. #endif