Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:18:00

0001 #ifndef TPC_LASEREVENTINFO_H
0002 #define TPC_LASEREVENTINFO_H
0003 
0004 //==================================
0005 /// \file LaserEventInfo.h
0006 /// \brief Laser event information storage node
0007 /// \author Ben Kimelman
0008 //==================================
0009 
0010 #include <phool/PHObject.h>
0011 
0012 #include <iostream>
0013 #include <limits>
0014 
0015 class LaserEventInfo : public PHObject
0016 {
0017  public:
0018   ~LaserEventInfo() override{};
0019 
0020   void identify(std::ostream &os = std::cout) const override {os << "LaserEventInfo base class" << std::endl; };
0021   virtual void CopyTo(LaserEventInfo *) {return;}
0022 
0023   virtual bool isLaserEvent() const { return false; }
0024   virtual void setIsLaserEvent(const bool /*isLaserEvent*/) {}
0025 
0026   virtual bool isGl1LaserEvent() const { return false; }
0027   virtual void setIsGl1LaserEvent(const bool /*isLaserEvent*/) {}
0028 
0029   virtual bool isGl1LaserPileupEvent() const { return false; }
0030   virtual void setIsGl1LaserPileupEvent(const bool /*isLaserEvent*/) {}
0031 
0032   virtual int getPeakSample(const bool /*side*/) const { return std::numeric_limits<int>::max(); }
0033   virtual void setPeakSample(const bool /*side*/, const int /*sample*/) {}
0034 
0035   virtual float getPeakWidth(const bool /*side*/) const { return std::numeric_limits<float>::quiet_NaN(); }
0036   virtual void setPeakWidth(const bool /*side*/, const float /*width*/) {}
0037 
0038  protected:
0039   LaserEventInfo() = default;
0040   ClassDefOverride(LaserEventInfo, 1);
0041 };
0042 
0043 #endif