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