Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TrkrClusterv5.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TrkrClusterv5.h
1 
7 #ifndef TRACKBASE_TRKRCLUSTERV5_H
8 #define TRACKBASE_TRKRCLUSTERV5_H
9 
10 #include "TrkrCluster.h"
11 #include "TrkrDefs.h"
12 #include <iostream>
13 
14 class PHObject;
15 
22 class TrkrClusterv5 : public TrkrCluster
23 {
24  public:
25 
27  TrkrClusterv5();
28 
30  ~TrkrClusterv5() override = default;
31 
32  // PHObject virtual overloads
33 
34  void identify(std::ostream& os = std::cout) const override;
35  void Reset() override {}
36  int isValid() const override;
37  PHObject* CloneMe() const override { return new TrkrClusterv5(*this); }
38 
40  using PHObject::CopyFrom;
41 
43  void CopyFrom( const TrkrCluster& ) override;
44 
46  void CopyFrom( TrkrCluster* source ) override
47  { CopyFrom( *source ); }
48 
49  //
50  // cluster position
51  //
52  float getPosition(int coor) const override { return m_local[coor]; }
53  void setPosition(int coor, float xi) override { m_local[coor] = xi; }
54  float getLocalX() const override { return m_local[0]; }
55  void setLocalX(float loc0) override { m_local[0] = loc0; }
56  float getLocalY() const override { return m_local[1]; }
57  void setLocalY(float loc1) override { m_local[1] = loc1; }
58 
59  TrkrDefs::subsurfkey getSubSurfKey() const override { return m_subsurfkey; }
61 
62  //
63  // cluster info
64  //
65  unsigned int getAdc() const override {
66  return m_adc ;
67  }
68 
69  void setAdc(unsigned int adc) override {
70  m_adc = adc;
71  }
72 
73  unsigned int getMaxAdc() const override {
74  return m_maxadc;
75  }
76 
77  void setMaxAdc(uint16_t maxadc) override {
78  m_maxadc = maxadc;
79  }
80 
81  //
82  // convenience interface
83  //
84  float getRPhiError() const override
85  { return m_phierr;}
86  float getZError() const override
87  { return m_zerr;}
88 
89  void setPhiError(float phierror)
90  { m_phierr = phierror;}
91  void setZError(float zerror)
92  { m_zerr = zerror;}
93 
95  float getX() const override
96  { std::cout << "Deprecated getx trkrcluster function!"<<std::endl; return NAN;}
97  float getY() const override
98  { std::cout << "Deprecated gety trkrcluster function!"<<std::endl; return NAN;}
99  float getZ() const override
100  { std::cout << "Deprecated getz trkrcluster function!"<<std::endl; return NAN;}
101  void setX(float) override
102  { std::cout << "Deprecated setx trkrcluster function!"<<std::endl;}
103  void setY(float) override
104  { std::cout << "Deprecated sety trkrcluster function!"<<std::endl;}
105  void setZ(float) override
106  { std::cout << "Deprecated setz trkrcluster function!"<<std::endl;}
107  float getSize(unsigned int, unsigned int) const override
108  {std::cout << "Deprecated getsize trkrcluster function!" << std::endl; return NAN;}
109  void setSize(unsigned int, unsigned int, float) override
110  {std::cout << "Deprecated setsize trkrcluster function!" << std::endl;}
111  float getError(unsigned int, unsigned int) const override
112  {std::cout << "Deprecated geterr trkrcluster function!" << std::endl; return NAN;}
113  void setError(unsigned int, unsigned int, float) override
114  { std::cout << "Deprecated seterr trkrcluster function!" << std::endl; }
115 
116  char getSize() const override { return m_phisize * m_zsize; }
117  // void setSize(char size) { m_size = size; }
118 
119  float getPhiSize() const override { return (float) m_phisize; }
121 
122  float getZSize() const override { return (float) m_zsize; }
123  void setZSize(char zsize) { m_zsize = zsize; }
124 
125  char getOverlap() const override { return m_overlap; }
126  void setOverlap(char overlap) override { m_overlap = overlap; }
127 
128  char getEdge() const override{ return m_edge; }
129  void setEdge(char edge) override { m_edge = edge; }
130 
131  //float getPhiSize() const override
132  //{ std::cout << "Deprecated size function"<< std::endl; return NAN;}
133  //float getZSize() const override
134  //{std::cout << "Deprecated size function" << std::endl; return NAN;}
135  //float getPhiError() const override
136  //{ std::cout << "Deprecated getPhiError function"<< std::endl; return NAN;}
137 
138  protected:
139 
140  float m_local[2]; //< 2D local position [cm] 2 * 32 64bit - cumul 1*64
141  TrkrDefs::subsurfkey m_subsurfkey; //< unique identifier for hitsetkey-surface maps 16 bit
142  float m_phierr;
143  float m_zerr;
144  unsigned short int m_adc; //< cluster sum adc 16
145  unsigned short int m_maxadc; //< cluster sum adc 16
146  char m_phisize; // 8bit
147  char m_zsize; // 8bit
148  char m_overlap; // 8bit
149  char m_edge; // 8bit - cumul 2*64
150 
151  ClassDefOverride(TrkrClusterv5, 2)
152 };
153 
154 #endif //TRACKBASE_TRKRCLUSTERV5_H