Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MvtxEventInfov2.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file MvtxEventInfov2.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef MVTXEVENTINFOV2_H
4 #define MVTXEVENTINFOV2_H
5 
6  /***************************/
7  /* MVTX event header class */
8  /* Cameron Dean */
9  /* MIT (ctdean@mit.edu) */
10  /* 09/11/2023 */
11 /***************************/
12 
13 #include <iostream>
14 
15 #include <set>
16 
17 #include "MvtxEventInfo.h"
18 
19 typedef std::pair<uint64_t, uint64_t> strobe_L1_pair;
20 
23 {
24  public:
25  MvtxEventInfov2() = default;
26 
28  virtual ~MvtxEventInfov2() = default;
29 
30  PHObject *CloneMe() const override;
31 
33  void Reset() override;
34 
38  void identify(std::ostream &os = std::cout) const override;
39 
41  int isValid() const override;
42 
43  void set_number_HB(const int /*ival*/) override;
44  int get_number_HB() const override;
45 
46  void set_strobe_BCO(const uint64_t strobe_BCO) override;
47 
48  void set_strobe_BCO_L1_BCO(const uint64_t strobe_BCO, const uint64_t L1_BCO) override;
49 
50  unsigned int get_number_strobes() const override;
51  unsigned int get_number_L1s() const override;
52 
53  //std::set<uint64_t> get_strobe_BCOs() const;
54  std::set<uint64_t> get_strobe_BCOs() const override;
55  std::set<uint64_t> get_L1_BCOs() const override;
56 
57  std::set<uint64_t> get_strobe_BCO_from_L1_BCO(const uint64_t ival) const override;
58  std::set<uint64_t> get_L1_BCO_from_strobe_BCO(const uint64_t ival) const override;
59 
60 protected:
61  std::set<strobe_L1_pair> m_strobe_BCO_L1_BCO;
62  std::set<uint64_t> m_strobe_BCOs;
63 
66 
67  private:
68  void warning(const std::string &func) const;
69 
70  int m_number_HB = -1;
71 
72  ClassDefOverride(MvtxEventInfov2, 1)
73 };
74 
75 #endif