File indexing completed on 2025-08-06 08:18:09
0001
0002
0003 #ifndef MVTXEVENTINFO_H
0004 #define MVTXEVENTINFO_H
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include <phool/PHObject.h>
0014
0015 #include <cmath>
0016 #include <iostream>
0017 #include <map>
0018 #include <set>
0019 #include <string> // for string
0020
0021
0022 class MvtxEventInfo : public PHObject
0023 {
0024 public:
0025
0026 MvtxEventInfo() = default;
0027
0028
0029 ~MvtxEventInfo() override = default;
0030
0031 PHObject *CloneMe() const override;
0032
0033
0034 void Reset() override;
0035
0036
0037
0038
0039 void identify(std::ostream &os = std::cout) const override;
0040
0041
0042 int isValid() const override;
0043
0044 void set_floatval(const std::string & , const float );
0045 float get_floatval(const std::string & ) const;
0046
0047 void set_intval(const std::string & , const int32_t );
0048 int get_intval(const std::string & ) const;
0049
0050 void set_int64val(const std::string & , const int64_t );
0051 int get_int64val(const std::string & ) const;
0052
0053 void set_uintval(const std::string & , const uint32_t );
0054 int get_uintval(const std::string & ) const;
0055
0056 void set_uint64val(const std::string & , const uint64_t );
0057 int get_uint64val(const std::string & ) const;
0058
0059 void set_stringval(const std::string & , const std::string & );
0060 std::string get_stringval(const std::string & ) const;
0061
0062 virtual void set_number_HB(const int ) {};
0063 virtual int get_number_HB() const { return 0; };
0064
0065 virtual void set_strobe_BCO(const uint64_t ) {};
0066
0067 virtual void set_strobe_BCO_L1_BCO(const uint64_t , const uint64_t ) {};
0068
0069 virtual unsigned int get_number_strobes() const { return 0; };
0070 virtual unsigned int get_number_L1s() const { return 0; };
0071
0072 virtual std::set<uint64_t> get_strobe_BCOs() const { return dummySet; };
0073 virtual std::set<uint64_t> get_L1_BCOs() const { return dummySet; };
0074
0075 virtual std::set<uint64_t> get_strobe_BCO_from_L1_BCO(const uint64_t ) const { return dummySet; }
0076 virtual std::set<uint64_t> get_L1_BCO_from_strobe_BCO(const uint64_t ) const { return dummySet; };
0077
0078 virtual void add_strobe_BCO(const uint64_t & ) {};
0079 virtual void add_L1_BCO(const uint64_t & ) {};
0080
0081 protected:
0082 std::map<std::string, int32_t> m_IntEventProperties;
0083 std::map<std::string, int64_t> m_Int64EventProperties;
0084 std::map<std::string, uint32_t> m_UintEventProperties;
0085 std::map<std::string, uint64_t> m_Uint64EventProperties;
0086 std::map<std::string, float> m_FloatEventProperties;
0087 std::map<std::string, std::string> m_StringEventProperties;
0088
0089 private:
0090 void warning(const std::string &func) const;
0091
0092 std::set<uint64_t> dummySet;
0093
0094 ClassDefOverride(MvtxEventInfo, 1)
0095 };
0096
0097 #endif