File indexing completed on 2025-12-17 09:19:37
0001
0002
0003 #ifndef FFAOBJECTS_SYNCOBJECT_H
0004 #define FFAOBJECTS_SYNCOBJECT_H
0005
0006 #include <phool/PHObject.h>
0007
0008 #include <iostream>
0009 #include <limits>
0010
0011
0012 class SyncObject : public PHObject
0013 {
0014 public:
0015
0016 SyncObject() = default;
0017
0018 SyncObject(const SyncObject& source) = default;
0019
0020 ~SyncObject() override = default;
0021
0022 void Reset() override;
0023
0024
0025
0026
0027 void identify(std::ostream& os = std::cout) const override;
0028
0029
0030 int isValid() const override;
0031
0032 PHObject* CloneMe() const override;
0033 SyncObject& operator=(const SyncObject& source);
0034 virtual unsigned int Different(const SyncObject* other) const;
0035
0036
0037 virtual void EventCounter(const int ) { return; }
0038
0039
0040 virtual void EventNumber(const int ) { return; }
0041
0042
0043 virtual void SegmentNumber(const int ) { return; }
0044
0045
0046 virtual void RunNumber(const int ) { return; }
0047
0048
0049 virtual int EventNumber() const { return std::numeric_limits<int>::min(); }
0050
0051 protected:
0052
0053 virtual int EventCounter() const { return std::numeric_limits<int>::min(); }
0054
0055 virtual int RunNumber() const { return std::numeric_limits<int>::min(); }
0056
0057 virtual int SegmentNumber() const { return std::numeric_limits<int>::min(); }
0058
0059 private:
0060 friend class SyncObjectv1;
0061 friend class Fun4AllDstInputManager;
0062 friend class Fun4AllDstPileupInputManager;
0063 friend class DumpSyncObject;
0064 friend class SegmentSelect;
0065
0066 ClassDefOverride(SyncObject, 1)
0067 };
0068
0069 #endif