Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:18:10

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef MVTXEVENTINFOV1_H
0004 #define MVTXEVENTINFOV1_H
0005 
0006 /***************************/
0007 /* MVTX event header class */
0008 /*       Cameron Dean      */
0009 /*   MIT (ctdean@mit.edu)  */
0010 /*          29/09/2023     */
0011 /***************************/
0012 
0013 #include <iostream>
0014 
0015 #include <set>
0016 
0017 #include "MvtxEventInfo.h"
0018 
0019 ///
0020 class MvtxEventInfov3 : public MvtxEventInfo
0021 {
0022  public:
0023   //! ctor
0024   MvtxEventInfov3() = default;
0025 
0026   //! cp/mv ctor
0027   MvtxEventInfov3(const MvtxEventInfov3 &) = default;
0028   MvtxEventInfov3(MvtxEventInfov3 &&) = default;
0029 
0030   //! cp/mv asignment
0031   MvtxEventInfov3 &operator=(const MvtxEventInfov3 &) = default;
0032   MvtxEventInfov3 &operator=(MvtxEventInfov3 &&) = default;
0033 
0034   //! dtor
0035   ~MvtxEventInfov3() override = default;
0036 
0037   PHObject *CloneMe() const override;
0038 
0039   /// Clear Event
0040   void Reset() override;
0041 
0042   /** identify Function from PHObject
0043       @param os Output Stream
0044    */
0045   void identify(std::ostream &os = std::cout) const override;
0046 
0047   /// isValid returns non zero if object contains valid data
0048   int isValid() const override;
0049 
0050   unsigned int get_number_strobes() const override { return m_strobe_BCOs.size(); }
0051   unsigned int get_number_L1s() const override { return m_L1_BCOs.size(); }
0052 
0053   std::set<uint64_t> get_strobe_BCOs() const override { return m_strobe_BCOs; }
0054   std::set<uint64_t> get_L1_BCOs() const override { return m_L1_BCOs; }
0055 
0056   void add_strobe_BCO(const uint64_t &strb_val) override { m_strobe_BCOs.insert(strb_val); }
0057   void add_L1_BCO(const uint64_t &strb_val) override { m_L1_BCOs.insert(strb_val); }
0058 
0059  protected:
0060  private:
0061   void warning(const std::string &func) const;
0062 
0063   std::set<uint64_t> m_strobe_BCOs;
0064   std::set<uint64_t> m_L1_BCOs;
0065 
0066   ClassDefOverride(MvtxEventInfov3, 1)
0067 };
0068 
0069 #endif