ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SyncObjectv1.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file SyncObjectv1.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef FFAOBJECTS_SYNCOBJECTV1_H
4 #define FFAOBJECTS_SYNCOBJECTV1_H
5 
6 #include "SyncObject.h"
7 
8 #include <iostream>
9 
10 class PHObject;
11 
12 class SyncObjectv1 : public SyncObject
13 {
14  public:
16  SyncObjectv1() = default;
17  explicit SyncObjectv1(const SyncObject& source);
18 
19  PHObject* CloneMe() const override { return new SyncObjectv1(*this); }
21  ~SyncObjectv1() override = default;
22 
24  void Reset() override;
25 
29  void identify(std::ostream& os = std::cout) const override;
30 
32  int isValid() const override;
33 
35  void EventCounter(const int ival) override { eventcounter = ival; }
36 
38  void EventNumber(const int ival) override { eventnumber = ival; }
39 
41  void RunNumber(const int ival) override { runnumber = ival; }
42 
44  void SegmentNumber(const int ival) override { segmentnumber = ival; }
45 
46  protected:
48  int EventCounter() const override { return eventcounter; }
50  int EventNumber() const override { return eventnumber; }
52  int RunNumber() const override { return runnumber; }
53 
54  private:
55  int eventcounter = 0; // running counter
56  int eventnumber = 0; // Event number
57  int runnumber = 0; // Run number
58  int segmentnumber = -999999; // segment number
59 
60  ClassDefOverride(SyncObjectv1, 1)
61 
62 };
63 
64 #endif