File indexing completed on 2025-08-06 08:18:12
0001
0002
0003
0004
0005
0006
0007 #ifndef TRACKBASE_TRKRCLUSTERV5_H
0008 #define TRACKBASE_TRKRCLUSTERV5_H
0009
0010 #include <iostream>
0011 #include "TrkrCluster.h"
0012 #include "TrkrDefs.h"
0013
0014 class PHObject;
0015
0016
0017
0018
0019
0020
0021
0022 class TrkrClusterv5 : public TrkrCluster
0023 {
0024 public:
0025
0026 TrkrClusterv5();
0027
0028
0029 ~TrkrClusterv5() override = default;
0030
0031
0032
0033 void identify(std::ostream& os = std::cout) const override;
0034 void Reset() override {}
0035 int isValid() const override;
0036 PHObject* CloneMe() const override { return new TrkrClusterv5(*this); }
0037
0038
0039 using PHObject::CopyFrom;
0040
0041
0042 void CopyFrom(const TrkrCluster&) override;
0043
0044
0045 void CopyFrom(TrkrCluster* source) override
0046 {
0047 CopyFrom(*source);
0048 }
0049
0050
0051
0052
0053 float getPosition(int coor) const override { return m_local[coor]; }
0054 void setPosition(int coor, float xi) override { m_local[coor] = xi; }
0055 float getLocalX() const override { return m_local[0]; }
0056 void setLocalX(float loc0) override { m_local[0] = loc0; }
0057 float getLocalY() const override { return m_local[1]; }
0058 void setLocalY(float loc1) override { m_local[1] = loc1; }
0059
0060 TrkrDefs::subsurfkey getSubSurfKey() const override { return m_subsurfkey; }
0061 void setSubSurfKey(TrkrDefs::subsurfkey id) override { m_subsurfkey = id; }
0062
0063
0064
0065
0066 unsigned int getAdc() const override
0067 {
0068 return m_adc;
0069 }
0070
0071 void setAdc(unsigned int adc) override
0072 {
0073 m_adc = adc;
0074 }
0075
0076 unsigned int getMaxAdc() const override
0077 {
0078 return m_maxadc;
0079 }
0080
0081 void setMaxAdc(uint16_t maxadc) override
0082 {
0083 m_maxadc = maxadc;
0084 }
0085
0086
0087
0088
0089 float getRPhiError() const override
0090 {
0091 return m_phierr;
0092 }
0093 float getZError() const override
0094 {
0095 return m_zerr;
0096 }
0097
0098 void setPhiError(float phierror)
0099 {
0100 m_phierr = phierror;
0101 }
0102 void setZError(float zerror)
0103 {
0104 m_zerr = zerror;
0105 }
0106
0107
0108 float getX() const override
0109 {
0110 std::cout << "Deprecated getx trkrcluster function!" << std::endl;
0111 return NAN;
0112 }
0113 float getY() const override
0114 {
0115 std::cout << "Deprecated gety trkrcluster function!" << std::endl;
0116 return NAN;
0117 }
0118 float getZ() const override
0119 {
0120 std::cout << "Deprecated getz trkrcluster function!" << std::endl;
0121 return NAN;
0122 }
0123 void setX(float) override
0124 {
0125 std::cout << "Deprecated setx trkrcluster function!" << std::endl;
0126 }
0127 void setY(float) override
0128 {
0129 std::cout << "Deprecated sety trkrcluster function!" << std::endl;
0130 }
0131 void setZ(float) override
0132 {
0133 std::cout << "Deprecated setz trkrcluster function!" << std::endl;
0134 }
0135 float getSize(unsigned int, unsigned int) const override
0136 {
0137 std::cout << "Deprecated getsize trkrcluster function!" << std::endl;
0138 return NAN;
0139 }
0140 void setSize(unsigned int, unsigned int, float) override
0141 {
0142 std::cout << "Deprecated setsize trkrcluster function!" << std::endl;
0143 }
0144 float getError(unsigned int, unsigned int) const override
0145 {
0146 std::cout << "Deprecated geterr trkrcluster function!" << std::endl;
0147 return NAN;
0148 }
0149 void setError(unsigned int, unsigned int, float) override
0150 {
0151 std::cout << "Deprecated seterr trkrcluster function!" << std::endl;
0152 }
0153
0154 char getSize() const override { return m_phisize * m_zsize; }
0155
0156
0157 float getPhiSize() const override { return (float) m_phisize; }
0158 void setPhiSize(char phisize) { m_phisize = phisize; }
0159
0160 float getZSize() const override { return (float) m_zsize; }
0161 void setZSize(char zsize) { m_zsize = zsize; }
0162
0163 char getOverlap() const override { return m_overlap; }
0164 void setOverlap(char overlap) override { m_overlap = overlap; }
0165
0166 char getEdge() const override { return m_edge; }
0167 void setEdge(char edge) override { m_edge = edge; }
0168
0169
0170
0171
0172
0173
0174
0175
0176 protected:
0177 float m_local[2]{};
0178 TrkrDefs::subsurfkey m_subsurfkey;
0179 float m_phierr;
0180 float m_zerr;
0181 unsigned short int m_adc;
0182 unsigned short int m_maxadc;
0183 char m_phisize;
0184 char m_zsize;
0185 char m_overlap;
0186 char m_edge;
0187
0188 ClassDefOverride(TrkrClusterv5, 2)
0189 };
0190
0191 #endif