Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:16:06

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
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   /// ctor - daughter class copy ctor needs this
0015   SyncObject() = default;
0016   /// copy ctor daughter class copy ctor needs also this
0017   SyncObject(const SyncObject& source) = default;
0018   /// dtor
0019   ~SyncObject() override {}
0020   /// Clear Sync
0021   void Reset() override;
0022 
0023   /** identify Function from PHObject
0024       @param os Output Stream
0025    */
0026   void identify(std::ostream& os = std::cout) const override;
0027 
0028   /// isValid returns non zero if object contains valid data
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   /// set Event Counter
0036   virtual void EventCounter(const int /*ival*/) { return; }
0037 
0038   /// set Event Number
0039   virtual void EventNumber(const int /*ival*/) { return; }
0040 
0041   /// set Segment Number
0042   virtual void SegmentNumber(const int /*ival*/) { return; }
0043 
0044   /// set Run Number
0045   virtual void RunNumber(const int /*ival*/) { return; }
0046 
0047  protected:
0048   /// get Event Number
0049   virtual int EventNumber() const { return -9999; }
0050   /// get Event Counter
0051   virtual int EventCounter() const { return -9999; }
0052   /// get Run Number
0053   virtual int RunNumber() const { return -9999; }
0054   /// get Segment Number
0055   virtual int SegmentNumber() const { return -9999; }
0056 
0057  private:  // prevent doc++ from showing ClassDefOverride
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