Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 /**
0002  * @file trackbase/CMFlashDifference.h
0003  * @author Tony Frawley
0004  * @date January 2022
0005  * @brief Base class for central membrane flash cluster difference due to distortions
0006  */
0007 #ifndef TRACKBASE_CMFLASHDIFFERENCE_H
0008 #define TRACKBASE_CMFLASHDIFFERENCE_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 difference object
0019  *
0020  * Virtual base class for TPC CM flash difference object
0021  */
0022 class CMFlashDifference : public PHObject
0023 {
0024  public:
0025   //! dtor
0026   ~CMFlashDifference() override {}
0027   // PHObject virtual overloads
0028   void identify(std::ostream& os = std::cout) const override
0029   {
0030     os << "CMFlashDifference 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 CMFlashDifference&) {}
0040 
0041   //! copy content from base class
0042   virtual void CopyFrom(CMFlashDifference*) {}
0043 
0044   //
0045   // difference position
0046   //
0047   virtual float getTruthPhi() const { return NAN; }
0048   virtual void setTruthPhi(float) {}
0049 
0050   virtual float getRecoPhi() const { return NAN; }
0051   virtual void setRecoPhi(float) {}
0052 
0053   virtual float getTruthR() const { return NAN; }
0054   virtual void setTruthR(float) {}
0055 
0056   virtual float getRecoR() const { return NAN; }
0057   virtual void setRecoR(float) {}
0058 
0059   virtual float getTruthZ() const { return NAN; }
0060   virtual void setTruthZ(float) {}
0061 
0062   virtual float getRecoZ() const { return NAN; }
0063   virtual void setRecoZ(float) {}
0064 
0065   virtual unsigned int getNclusters() const { return UINT_MAX; }
0066   virtual void setNclusters(unsigned int) {}
0067 
0068  protected:
0069   CMFlashDifference() = default;
0070   ClassDefOverride(CMFlashDifference, 1)
0071 };
0072 
0073 #endif  // TRACKBASE_CMFLASHDIFFERENCE_H