Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BbcOutV2.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file BbcOutV2.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef BBC_BBCOUTV2_H
4 #define BBC_BBCOUTV2_H
5 
6 #include "BbcOut.h"
7 
8 #include <iostream>
9 #include <limits>
10 
11 class TClonesArray;
12 
14 class BbcOutV2 : public BbcOut
15 {
16  public:
18  BbcOutV2();
20  ~BbcOutV2() override;
21 
23  void Reset() override;
24 
28  void identify(std::ostream &os = std::cout) const override;
29 
31  int isValid() const override;
32 
34  Float_t get_zvtx() const override { return bz; }
35 
37  Float_t get_zvtxerr() const override { return bzerr; }
38 
40  Float_t get_t0() const override { return bt0; }
41 
43  Float_t get_t0err() const override { return bt0err; }
44 
49  void set_t0(const Float_t t0, const Float_t t0err = 0) override;
50 
52  void set_zvtx(const Float_t vtx, const Float_t vtxerr = 0) override;
53 
57  void set_zvtxerr(const Float_t vtxerr) override;
58 
65  void set_arm(const int iarm, const Short_t npmt, const Float_t chargesum, const Float_t timing) override;
66 
72  virtual void set_clocks(const Int_t ievt, const UShort_t iclk, const UShort_t ifemclk) override;
73 
77  Short_t get_npmt(const int iarm) const override;
78 
82  Float_t get_q(const int iarm) const override;
83 
87  Float_t get_time(const int iarm) const override;
88 
91  virtual Int_t get_evt() const override;
92 
95  virtual UShort_t get_clock() const override;
96 
99  virtual UShort_t get_femclock() const override;
100 
101  private:
102  Float_t bz{std::numeric_limits<Float_t>::quiet_NaN()};
103  Float_t bzerr{std::numeric_limits<Float_t>::quiet_NaN()};
104  Float_t bt0{std::numeric_limits<Float_t>::quiet_NaN()};
105  Float_t bt0err{std::numeric_limits<Float_t>::quiet_NaN()};
106  Float_t bqs{0};
107  Float_t bqn{0};
108  Float_t bts{std::numeric_limits<Float_t>::quiet_NaN()};
109  Float_t btn{std::numeric_limits<Float_t>::quiet_NaN()};
110  Short_t bns{0};
111  Short_t bnn{0};
112  Int_t evt{-1};
113  UShort_t clk{0};
114  UShort_t femclk{0};
115 
116  ClassDefOverride(BbcOutV2, 1)
117 };
118 
119 #endif