Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BbcPmtHitV1.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file BbcPmtHitV1.h
1 #ifndef __BBC_BBCPMTHITV1_H__
2 #define __BBC_BBCPMTHITV1_H__
3 
4 #include "BbcPmtHit.h"
5 
6 #include <iostream>
7 #include <limits>
8 
9 class BbcPmtHitV1 : public BbcPmtHit
10 {
11  public:
13  ~BbcPmtHitV1() override = default;
14 
16  void Reset() override;
17 
19  void Clear(Option_t* = "") override;
20 
22  Short_t get_pmt() const override { return bpmt; }
23 
25  Float_t get_q() const override { return bq; }
26 
28  Float_t get_tt() const override { return btt; }
29  Float_t get_time() const override { return btt; }
30 
32  Float_t get_tq() const override { return btq; }
33 
34  void set_pmt(const Short_t pmt, const Float_t q, const Float_t tt, const Float_t tq) override
35  {
36  bpmt = pmt;
37  bq = q;
38  btt = tt;
39  btq = tq;
40  }
41 
43  void identify(std::ostream& os = std::cout) const override;
44 
46  virtual int isValid() const override
47  {
48  if (bpmt < 0) return 0;
49  return 1;
50  }
51 
52  private:
53  Short_t bpmt{-1};
54  Float_t bq{std::numeric_limits<float>::quiet_NaN()};
55  Float_t btt{std::numeric_limits<float>::quiet_NaN()};
56  Float_t btq{std::numeric_limits<float>::quiet_NaN()};
57 
58  ClassDefOverride(BbcPmtHitV1, 1)
59 };
60 
61 #endif