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_RUNHEADER_H
0004 #define FFAOBJECTS_RUNHEADER_H
0005 
0006 #include <phool/PHObject.h>
0007 
0008 #include <cmath>
0009 #include <iostream>
0010 #include <string>  // for string
0011 
0012 ///
0013 class RunHeader : public PHObject
0014 {
0015  public:
0016   /// dtor
0017   ~RunHeader() override {}
0018 
0019   /// Clear Event
0020   void Reset() override;
0021 
0022   /** identify Function from PHObject
0023       @param os Output Stream
0024    */
0025   void identify(std::ostream &os = std::cout) const override;
0026 
0027   /// isValid returns non zero if object contains valid data
0028   int isValid() const override;
0029 
0030   /// get Run Number
0031   virtual int get_RunNumber() const;
0032   /// set Run Number
0033   virtual void set_RunNumber(const int run);
0034 
0035   virtual void set_floatval(const std::string & /*name*/, const float /*fval*/) { return; }
0036   virtual float get_floatval(const std::string & /*name*/) const { return std::numeric_limits<float>::quiet_NaN(); }
0037 
0038   virtual void set_intval(const std::string & /*name*/, const int /*ival*/) { return; }
0039   virtual int get_intval(const std::string & /*name*/) const { return std::numeric_limits<int>::min(); }
0040 
0041   virtual void set_bor_timestamp(const int time) { set_intval("BORTIME", time); }
0042   virtual int get_bor_timestamp() const { return get_intval("BORTIME"); }
0043 
0044   virtual void set_eor_timestamp(const int time) { set_intval("EORTIME", time); }
0045   virtual int get_eor_timestamp() const { return get_intval("EORTIME"); }
0046   /// switches off the pesky virtual warning messages
0047   static void NoWarning(const int i = 1);
0048 
0049  private:
0050   static void warning(const std::string &func);
0051 
0052   ClassDefOverride(RunHeader, 1)
0053 };
0054 
0055 #endif