EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TrkrCluster.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TrkrCluster.h
1 
7 #ifndef TRACKBASE_TRKRCLUSTER_H
8 #define TRACKBASE_TRKRCLUSTER_H
9 
10 #include "TrkrDefs.h"
11 
12 #include <phool/PHObject.h>
13 
14 #include <climits>
15 #include <cmath>
16 #include <iostream>
17 #include <memory>
18 
19 
25 class TrkrCluster : public PHObject
26 {
27  public:
29  ~TrkrCluster() override {}
30  // PHObject virtual overloads
31  void identify(std::ostream& os = std::cout) const override
32  {
33  os << "TrkrCluster base class" << std::endl;
34  }
35  void Reset() override {}
36  int isValid() const override { return 0; }
37 
38 
40  using PHObject::CopyFrom;
41 
43  virtual void CopyFrom( const TrkrCluster& )
44  {}
45 
47  virtual void CopyFrom( TrkrCluster* )
48  {}
49 
50  //
51  // cluster id
52  //
53  virtual TrkrDefs::cluskey getClusKey() const { return TrkrDefs::CLUSKEYMAX; }
54  virtual void setClusKey(TrkrDefs::cluskey) {}
55 
56  //
57  // cluster position
58  //
59  virtual float getLocalX() const { return NAN; }
60  virtual void setLocalX(float) {}
61  virtual float getLocalY() const { return NAN; }
62  virtual void setLocalY(float) {}
63 
64  //
65  // cluster info
66  //
67  virtual void setAdc(unsigned int) {}
68  virtual unsigned int getAdc() const { return UINT_MAX; }
69 
70  //
71  // convenience interface
72  //
73  virtual float getPhiSize() const { return NAN; }
74  virtual float getZSize() const { return NAN; }
75  virtual float getPhiError() const { return NAN; }
76  virtual float getRPhiError() const { return NAN; }
77  virtual float getZError() const { return NAN; }
78 
80  virtual void setActsLocalError(unsigned int /*i*/, unsigned int /*j*/, float /*value*/){}
81  virtual float getActsLocalError(unsigned int /*i*/, unsigned int /*j*/) const { return NAN; }
82  virtual TrkrDefs::subsurfkey getSubSurfKey() const { return TrkrDefs::SUBSURFKEYMAX; }
83  virtual void setSubSurfKey(TrkrDefs::subsurfkey /*id*/) {}
84 
85  // Global coordinate functions are deprecated, use local
86  // coordinate functions only
87  virtual float getX() const { return NAN; }
88  virtual void setX(float) {}
89  virtual float getY() const { return NAN; }
90  virtual void setY(float) {}
91  virtual float getZ() const { return NAN; }
92  virtual void setZ(float) {}
93  virtual float getPosition(int /*coor*/) const { return NAN; }
94  virtual void setPosition(int /*coor*/, float /*xi*/) {}
95  virtual void setGlobal() {}
96  virtual void setLocal() {}
97  virtual bool isGlobal() const { return true; }
98  virtual float getError(unsigned int /*i*/, unsigned int /*j*/) const { return NAN; }
99  virtual void setError(unsigned int /*i*/, unsigned int /*j*/, float /*value*/) {}
100  virtual float getSize(unsigned int /*i*/, unsigned int /*j*/) const { return NAN; }
101  virtual void setSize(unsigned int /*i*/, unsigned int /*j*/, float /*value*/) {}
102 
103 
104  protected:
105  TrkrCluster() = default;
106  ClassDefOverride(TrkrCluster, 1)
107 };
108 
109 #endif //TRACKBASE_TRKRCLUSTER_H