Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BbcOutV1.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file BbcOutV1.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef BBC_BBCOUTV1_H
4 #define BBC_BBCOUTV1_H
5 
6 #include "BbcOut.h"
7 
8 #include <iostream>
9 #include <limits>
10 
11 class TClonesArray;
12 
14 class BbcOutV1 : public BbcOut
15 {
16  public:
18  BbcOutV1();
20  ~BbcOutV1() override;
21 
23  virtual 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 
70  Short_t get_npmt(const int iarm) const override;
71 
75  Float_t get_q(const int iarm) const override;
76 
80  Float_t get_time(const int iarm) const override;
81 
82  private:
83  Float_t bz{std::numeric_limits<Float_t>::quiet_NaN()};
84  Float_t bzerr{std::numeric_limits<Float_t>::quiet_NaN()};
85  Float_t bt0{std::numeric_limits<Float_t>::quiet_NaN()};
86  Float_t bt0err{std::numeric_limits<Float_t>::quiet_NaN()};
87  Float_t bns{0};
88  Float_t bnn{0};
89  Float_t bqs{0};
90  Float_t bqn{0};
91  Float_t bts{std::numeric_limits<Float_t>::quiet_NaN()};
92  Float_t btn{std::numeric_limits<Float_t>::quiet_NaN()};
93 
94  ClassDefOverride(BbcOutV1, 1)
95 };
96 
97 #endif