Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-12-17 09:19:37

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef FFAOBJECTS_SYNCOBJECTV1_H
0004 #define FFAOBJECTS_SYNCOBJECTV1_H
0005 
0006 #include "SyncObject.h"
0007 
0008 #include <iostream>
0009 
0010 class PHObject;
0011 
0012 class SyncObjectv1 : public SyncObject
0013 {
0014  public:
0015   /// ctor
0016   SyncObjectv1() = default;
0017   explicit SyncObjectv1(const SyncObject& source);
0018 
0019   PHObject* CloneMe() const override { return new SyncObjectv1(*this); }
0020   /// dtor
0021   ~SyncObjectv1() override = default;
0022 
0023   ///  Clear Event
0024   void Reset() override;
0025 
0026   /** identify Function from PHObject
0027       @param os Output Stream
0028    */
0029   void identify(std::ostream& out = std::cout) const override;
0030 
0031   /// isValid returns non zero if object contains valid data
0032   int isValid() const override;
0033 
0034   /// set Event Counter
0035   // cppcheck-suppress virtualCallInConstructor
0036   void EventCounter(const int ival) override { eventcounter = ival; }
0037 
0038   /// set Event Number
0039   // cppcheck-suppress virtualCallInConstructor
0040   void EventNumber(const int ival) override { eventnumber = ival; }
0041 
0042   /// set Run Number
0043   // cppcheck-suppress virtualCallInConstructor
0044   void RunNumber(const int ival) override { runnumber = ival; }
0045 
0046   /// set Segment Number
0047   // cppcheck-suppress virtualCallInConstructor
0048   void SegmentNumber(const int ival) override { segmentnumber = ival; }
0049 
0050   /// get Event Number
0051   int EventNumber() const override { return eventnumber; }
0052 
0053  protected:
0054   /// get Event Counter
0055   int EventCounter() const override { return eventcounter; }
0056   /// get Run Number
0057   int RunNumber() const override { return runnumber; }
0058   /// get Segment Number
0059   int SegmentNumber() const override { return segmentnumber; }
0060 
0061  private:
0062   int eventcounter{0};         // running counter
0063   int eventnumber{0};          // Event number
0064   int runnumber{0};            // Run number
0065   int segmentnumber{std::numeric_limits<int>::min()};  // segment number
0066 
0067   ClassDefOverride(SyncObjectv1, 1)
0068 };
0069 
0070 #endif