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_EVENTHEADERV1_H
0004 #define FFAOBJECTS_EVENTHEADERV1_H
0005 
0006 #include "EventHeader.h"
0007 
0008 #include <cstdint>   // for int64_t
0009 #include <iostream>  // for cout, ostream
0010 #include <map>
0011 #include <string>
0012 
0013 class PHObject;
0014 
0015 //! simple event header with ID and time
0016 class EventHeaderv1 : public EventHeader
0017 {
0018  public:
0019   /// ctor
0020   EventHeaderv1() = default;
0021   /// dtor
0022   ~EventHeaderv1() override = default;
0023 
0024   PHObject *CloneMe() const override { return new EventHeaderv1(*this); }
0025 
0026   ///  Clear Event
0027   void Reset() override;
0028 
0029   /** identify Function from PHObject
0030       @param os Output Stream
0031    */
0032   void identify(std::ostream &out = std::cout) const override;
0033 
0034   /// isValid returns non zero if object contains valid data
0035   int isValid() const override;
0036 
0037   void CopyTo(EventHeader *) override;
0038 
0039   /// get Run Number
0040   int get_RunNumber() const override { return RunNumber; }
0041   /// set Run Number
0042   void set_RunNumber(const int run) override { RunNumber = run; }
0043 
0044   /// get Event Number
0045   int get_EvtSequence() const override { return EvtSequence; }
0046   /// set Event Number
0047   void set_EvtSequence(const int evtno) override { EvtSequence = evtno; }
0048 
0049   void set_floatval(const std::string &name, const float fval) override;
0050   float get_floatval(const std::string &name) const override;
0051 
0052   void set_intval(const std::string &name, const int64_t ival) override;
0053   int64_t get_intval(const std::string &name) const override;
0054 
0055  private:
0056   int RunNumber{0};    // Run number
0057   int EvtSequence{0};  // Event number
0058   std::map<std::string, int64_t> m_IntEventProperties;
0059   std::map<std::string, float> m_FloatEventProperties;
0060 
0061   ClassDefOverride(EventHeaderv1, 2)
0062 };
0063 
0064 #endif