Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MbdOutV2.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file MbdOutV2.h
1 #ifndef MBD_MBDOUTV2_H
2 #define MBD_MBDOUTV2_H
3 
4 #include "MbdOut.h"
5 
6 #include <iostream>
7 #include <limits>
8 
9 class TClonesArray;
10 
12 class MbdOutV2 : public MbdOut
13 {
14  public:
16  MbdOutV2();
18  ~MbdOutV2() override;
19 
21  void Reset() override;
22 
26  void identify(std::ostream &os = std::cout) const override;
27 
29  int isValid() const override;
30 
32  Float_t get_zvtx() const override { return bz; }
33 
35  Float_t get_zvtxerr() const override { return bzerr; }
36 
38  Float_t get_t0() const override { return bt0; }
39 
41  Float_t get_t0err() const override { return bt0err; }
42 
47  void set_t0(const Float_t t0, const Float_t t0err = 0) override;
48 
50  void set_zvtx(const Float_t vtx, const Float_t vtxerr = 0) override;
51 
55  void set_zvtxerr(const Float_t vtxerr) override;
56 
63  void set_arm(const int iarm, const Short_t npmt, const Float_t chargesum, const Float_t timing) override;
64 
70  virtual void set_clocks(const Int_t ievt, const UShort_t iclk, const UShort_t ifemclk) override;
71 
75  Short_t get_npmt(const int iarm) const override;
76 
80  Float_t get_q(const int iarm) const override;
81 
85  Float_t get_time(const int iarm) const override;
86 
89  virtual Int_t get_evt() const override;
90 
93  virtual UShort_t get_clock() const override;
94 
97  virtual UShort_t get_femclock() const override;
98 
99  private:
100  Float_t bz{std::numeric_limits<Float_t>::quiet_NaN()};
101  Float_t bzerr{std::numeric_limits<Float_t>::quiet_NaN()};
102  Float_t bt0{std::numeric_limits<Float_t>::quiet_NaN()};
103  Float_t bt0err{std::numeric_limits<Float_t>::quiet_NaN()};
104  Float_t bqs{0};
105  Float_t bqn{0};
106  Float_t bts{std::numeric_limits<Float_t>::quiet_NaN()};
107  Float_t btn{std::numeric_limits<Float_t>::quiet_NaN()};
108  Short_t bns{0};
109  Short_t bnn{0};
110  Int_t evt{-1};
111  UShort_t clk{0};
112  UShort_t femclk{0};
113 
114  ClassDefOverride(MbdOutV2, 1)
115 };
116 
117 #endif