Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 09:20:31

0001 /**
0002  * @file trackbase/CMFlashCluster.h
0003  * @author Tony Frawley
0004  * @date January 2022
0005  * @brief Base class for central membrane flash cluster cluster object
0006  */
0007 #ifndef TRACKBASE_CMFLASHCLUSTER_H
0008 #define TRACKBASE_CMFLASHCLUSTER_H
0009 
0010 #include <phool/PHObject.h>
0011 
0012 #include <climits>
0013 #include <cmath>
0014 #include <iostream>
0015 #include <memory>
0016 
0017 /**
0018  * @brief Base class for Central Membrane flassh combined cluster object
0019  *
0020  * Virtual base class for TPC CM flash cluster object
0021  */
0022 class CMFlashCluster : public PHObject
0023 {
0024  public:
0025   //! dtor
0026   ~CMFlashCluster() override {}
0027   // PHObject virtual overloads
0028   void identify(std::ostream& os = std::cout) const override
0029   {
0030     os << "CMFlashCluster base class" << std::endl;
0031   }
0032   void Reset() override {}
0033   int isValid() const override { return 0; }
0034 
0035   //! import PHObject CopyFrom, in order to avoid clang warning
0036   using PHObject::CopyFrom;
0037 
0038   //! copy content from base class
0039   virtual void CopyFrom(const CMFlashCluster&) {}
0040 
0041   //! copy content from base class
0042   virtual void CopyFrom(CMFlashCluster*) {}
0043 
0044   //
0045   // cluster position
0046   //
0047   virtual float getX() const { return NAN; }
0048   virtual void setX(float) {}
0049   virtual float getY() const { return NAN; }
0050   virtual void setY(float) {}
0051   virtual float getZ() const { return NAN; }
0052   virtual void setZ(float) {}
0053 
0054   virtual float getX1() const { return NAN; }
0055   virtual void setX1(float) {}
0056   virtual float getY1() const { return NAN; }
0057   virtual void setY1(float) {}
0058   virtual float getZ1() const { return NAN; }
0059   virtual void setZ1(float) {}
0060 
0061   virtual float getX2() const { return NAN; }
0062   virtual void setX2(float) {}
0063   virtual float getY2() const { return NAN; }
0064   virtual void setY2(float) {}
0065   virtual float getZ2() const { return NAN; }
0066   virtual void setZ2(float) {}
0067 
0068   virtual void setLayer1(unsigned int) {}
0069   virtual unsigned int getLayer1() const { return UINT_MAX; }
0070 
0071   virtual void setLayer2(unsigned int) {}
0072   virtual unsigned int getLayer2() const { return UINT_MAX; }
0073 
0074   //
0075   // cluster info
0076   //
0077   virtual void setAdc(unsigned int) {}
0078   virtual unsigned int getAdc() const { return UINT_MAX; }
0079 
0080   virtual void setAdc1(unsigned int) {}
0081   virtual unsigned int getAdc1() const { return UINT_MAX; }
0082 
0083   virtual void setAdc2(unsigned int) {}
0084   virtual unsigned int getAdc2() const { return UINT_MAX; }
0085 
0086   virtual unsigned int getNclusters() const { return UINT_MAX; }
0087   virtual void setNclusters(unsigned int) {}
0088   virtual void setIsRGap(bool) {}
0089   virtual bool getIsRGap() const { return false; }
0090   virtual void setIsPhiGap(bool) {}
0091   virtual bool getIsPhiGap() const { return false; }
0092 
0093  protected:
0094   CMFlashCluster() = default;
0095   ClassDefOverride(CMFlashCluster, 1)
0096 };
0097 
0098 #endif  // TRACKBASE_CMFLASHCLUSTER_H