File indexing completed on 2025-08-06 08:17:50
0001 #ifndef MBD_BBCPMTHITV1_H
0002 #define MBD_BBCPMTHITV1_H
0003
0004 #include "BbcPmtHit.h"
0005
0006 #include <iostream>
0007 #include <limits>
0008
0009 class BbcPmtHitV1 : public BbcPmtHit
0010 {
0011 public:
0012 BbcPmtHitV1() = default;
0013 ~BbcPmtHitV1() override = default;
0014
0015
0016 void Reset() override;
0017
0018
0019 void Clear(Option_t* = "") override;
0020
0021
0022 Short_t get_pmt() const override { return bpmt; }
0023
0024
0025 Float_t get_q() const override { return bq; }
0026
0027
0028 Float_t get_tt() const override { return btt; }
0029 Float_t get_time() const override { return btt; }
0030
0031
0032 Float_t get_tq() const override { return btq; }
0033
0034 void set_pmt(const Short_t pmt, const Float_t q, const Float_t tt, const Float_t tq) override
0035 {
0036 bpmt = pmt;
0037 bq = q;
0038 btt = tt;
0039 btq = tq;
0040 }
0041
0042
0043 void identify(std::ostream& out = std::cout) const override;
0044
0045
0046 virtual int isValid() const override
0047 {
0048 if (bpmt < 0) return 0;
0049 return 1;
0050 }
0051
0052 private:
0053 Short_t bpmt{-1};
0054 Float_t bq{std::numeric_limits<float>::quiet_NaN()};
0055 Float_t btt{std::numeric_limits<float>::quiet_NaN()};
0056 Float_t btq{std::numeric_limits<float>::quiet_NaN()};
0057
0058 ClassDefOverride(BbcPmtHitV1, 1)
0059 };
0060
0061 #endif