EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TrkrClusterv3.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TrkrClusterv3.h
1 
7 #ifndef TRACKBASE_TRKRCLUSTERV3_H
8 #define TRACKBASE_TRKRCLUSTERV3_H
9 
10 #include "TrkrCluster.h"
11 #include "TrkrDefs.h"
12 #include <iostream>
13 
14 class PHObject;
15 
22 class TrkrClusterv3 : public TrkrCluster
23 {
24  public:
25 
27  TrkrClusterv3();
28 
30  ~TrkrClusterv3() override {}
31  // PHObject virtual overloads
32  void identify(std::ostream& os = std::cout) const override;
33  void Reset() override {}
34  int isValid() const override;
35  PHObject* CloneMe() const override { return new TrkrClusterv3(*this); }
36 
38  void CopyFrom( const TrkrCluster& ) override;
39 
41  void CopyFrom( TrkrCluster* source ) override
42  { CopyFrom( *source ); }
43 
44  void setClusKey(TrkrDefs::cluskey id) override { m_cluskey = id; }
45  TrkrDefs::cluskey getClusKey() const override { return m_cluskey; }
46 
47 
48  //
49  // cluster position
50  //
51  float getPosition(int coor) const override { return m_local[coor]; }
52  void setPosition(int coor, float xi) override { m_local[coor] = xi; }
53  float getLocalX() const override { return m_local[0]; }
54  void setLocalX(float loc0) override { m_local[0] = loc0; }
55  float getLocalY() const override { return m_local[1]; }
56  void setLocalY(float loc1) override { m_local[1] = loc1; }
57 
59  void setActsLocalError(unsigned int i, unsigned int j, float value) override;
60  float getActsLocalError(unsigned int i, unsigned int j) const override { return m_actsLocalErr[i][j]; }
61  TrkrDefs::subsurfkey getSubSurfKey() const override { return m_subsurfkey; }
62  void setSubSurfKey(TrkrDefs::subsurfkey id) override { m_subsurfkey = id; }
63 
64  //
65  // cluster info
66  //
67  unsigned int getAdc() const override { return m_adc; }
68  void setAdc(unsigned int adc) override { m_adc = adc; }
69 
70  //
71  // convenience interface
72  //
73  float getRPhiError() const override;
74  float getZError() const override;
75 
77  float getX() const override
78  { std::cout << "Deprecated getx trkrcluster function!"<<std::endl; return NAN;}
79  float getY() const override
80  { std::cout << "Deprecated gety trkrcluster function!"<<std::endl; return NAN;}
81  float getZ() const override
82  { std::cout << "Deprecated getz trkrcluster function!"<<std::endl; return NAN;}
83  void setX(float) override
84  { std::cout << "Deprecated setx trkrcluster function!"<<std::endl;}
85  void setY(float) override
86  { std::cout << "Deprecated sety trkrcluster function!"<<std::endl;}
87  void setZ(float) override
88  { std::cout << "Deprecated setz trkrcluster function!"<<std::endl;}
89  float getSize(unsigned int, unsigned int) const override
90  {std::cout << "Deprecated getsize trkrcluster function!" << std::endl; return NAN;}
91  void setSize(unsigned int, unsigned int, float) override
92  {std::cout << "Deprecated setsize trkrcluster function!" << std::endl;}
93  float getError(unsigned int, unsigned int) const override
94  {std::cout << "Deprecated geterr trkrcluster function!" << std::endl; return NAN;}
95  void setError(unsigned int, unsigned int, float) override
96  { std::cout << "Deprecated seterr trkrcluster function!" << std::endl; }
97  float getPhiSize() const override
98  { std::cout << "Deprecated size function"<< std::endl; return NAN;}
99  float getZSize() const override
100  {std::cout << "Deprecated size function" << std::endl; return NAN;}
101  float getPhiError() const override
102  { std::cout << "Deprecated getPhiError function"<< std::endl; return NAN;}
103 
104  protected:
105 
106  TrkrDefs::cluskey m_cluskey; //< unique identifier within container
107  TrkrDefs::subsurfkey m_subsurfkey; //< unique identifier for hitsetkey-surface maps
108 
109  unsigned int m_adc; //< cluster sum adc (D. McGlinchey - Do we need this?)
110 
111  float m_local[2]; //< 2D local position [cm]
112  float m_actsLocalErr[2][2]; //< 2D local error for Acts [cm]
113 
114  ClassDefOverride(TrkrClusterv3, 2)
115 };
116 
117 #endif //TRACKBASE_TRKRCLUSTERV3_H