Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 /**
0002  * @file trackbase/CMFlashClusterv1.h
0003  * @author Tony Frawley
0004  * @date January 2022
0005  * @brief Version 1 of CMFLashCluster
0006  */
0007 #ifndef TRACKBASE_CMFLASHCLUSTERV1_H
0008 #define TRACKBASE_CMFLASHCLUSTERV1_H
0009 
0010 #include "CMFlashCluster.h"
0011 
0012 #include <iostream>
0013 
0014 class PHObject;
0015 
0016 /**
0017  * @brief Version 1 of CMFlashCluster
0018  *
0019  * Note - D. McGlinchey June 2018:
0020  *   CINT does not like "override", so ignore where CINT
0021  *   complains. Should be checked with ROOT 6 once
0022  *   migration occurs.
0023  */
0024 class CMFlashClusterv1 : public CMFlashCluster
0025 {
0026  public:
0027   //! ctor
0028   CMFlashClusterv1() = default;
0029 
0030   // PHObject virtual overloads
0031   void identify(std::ostream& os = std::cout) const override;
0032   void Reset() override {}
0033   int isValid() const override;
0034   PHObject* CloneMe() const override { return new CMFlashClusterv1(*this); }
0035 
0036   //! copy content from base class
0037   void CopyFrom(const CMFlashCluster&) override;
0038 
0039   //! copy content from base class
0040   void CopyFrom(CMFlashCluster* source) override
0041   {
0042     CopyFrom(*source);
0043   }
0044 
0045   //
0046   // cluster position
0047   //
0048   float getX() const override { return m_pos[0]; }
0049   void setX(float x) override { m_pos[0] = x; }
0050   float getY() const override { return m_pos[1]; }
0051   void setY(float y) override { m_pos[1] = y; }
0052   float getZ() const override { return m_pos[2]; }
0053   void setZ(float z) override { m_pos[2] = z; }
0054   unsigned int getNclusters() const override { return m_nclusters; }
0055   void setNclusters(unsigned int n) override { m_nclusters = n; }
0056 
0057   //
0058   // cluster info
0059   //
0060   unsigned int getAdc() const override { return m_adc; }
0061   void setAdc(unsigned int adc) override { m_adc = adc; }
0062 
0063  protected:
0064   /// mean cluster position
0065   float m_pos[3] = {NAN, NAN, NAN};
0066 
0067   /// cluster sum adc
0068   unsigned int m_adc = 0xFFFFFFFF;
0069 
0070   /// number of TPC clusters used to create this central mebrane cluster
0071   unsigned int m_nclusters = UINT_MAX;
0072 
0073   ClassDefOverride(CMFlashClusterv1, 1)
0074 };
0075 
0076 #endif  // TRACKBASE_CMFLASHCLUSTERV1_H