File indexing completed on 2025-08-06 08:17:49
0001
0002
0003 #ifndef BBC_BBCOUTV2_H
0004 #define BBC_BBCOUTV2_H
0005
0006 #include "BbcOut.h"
0007
0008 #include <iostream>
0009 #include <limits>
0010
0011 class TClonesArray;
0012
0013
0014 class BbcOutV2 : public BbcOut
0015 {
0016 public:
0017
0018 BbcOutV2() = default;
0019
0020 ~BbcOutV2() override = default;
0021
0022
0023 void Reset() override;
0024
0025
0026
0027
0028 void identify(std::ostream &out = std::cout) const override;
0029
0030
0031 int isValid() const override;
0032
0033
0034 Float_t get_zvtx() const override { return bz; }
0035
0036
0037 Float_t get_zvtxerr() const override { return bzerr; }
0038
0039
0040 Float_t get_t0() const override { return bt0; }
0041
0042
0043 Float_t get_t0err() const override { return bt0err; }
0044
0045
0046
0047
0048
0049 void set_t0(const Float_t t0, const Float_t t0err = 0) override;
0050
0051
0052 void set_zvtx(const Float_t vtx, const Float_t vtxerr = 0) override;
0053
0054
0055
0056
0057 void set_zvtxerr(const Float_t vtxerr) override;
0058
0059
0060
0061
0062
0063
0064
0065 void set_arm(const int iarm, const Short_t npmt, const Float_t chargesum, const Float_t timing) override;
0066
0067
0068
0069
0070
0071
0072 virtual void set_clocks(const Int_t ievt, const UShort_t iclk, const UShort_t ifemclk) override;
0073
0074
0075
0076
0077 Short_t get_npmt(const int iarm) const override;
0078
0079
0080
0081
0082 Float_t get_q(const int iarm) const override;
0083
0084
0085
0086
0087 Float_t get_time(const int iarm) const override;
0088
0089
0090
0091 virtual Int_t get_evt() const override;
0092
0093
0094
0095 virtual UShort_t get_clock() const override;
0096
0097
0098
0099 virtual UShort_t get_femclock() const override;
0100
0101 private:
0102 Float_t bz{std::numeric_limits<Float_t>::quiet_NaN()};
0103 Float_t bzerr{std::numeric_limits<Float_t>::quiet_NaN()};
0104 Float_t bt0{std::numeric_limits<Float_t>::quiet_NaN()};
0105 Float_t bt0err{std::numeric_limits<Float_t>::quiet_NaN()};
0106 Float_t bqs{0};
0107 Float_t bqn{0};
0108 Float_t bts{std::numeric_limits<Float_t>::quiet_NaN()};
0109 Float_t btn{std::numeric_limits<Float_t>::quiet_NaN()};
0110 Short_t bns{0};
0111 Short_t bnn{0};
0112 Int_t evt{-1};
0113 UShort_t clk{0};
0114 UShort_t femclk{0};
0115
0116 ClassDefOverride(BbcOutV2, 1)
0117 };
0118
0119 #endif