File indexing completed on 2026-08-31 08:21:22
0001
0002
0003 #ifndef TPCTRACKRECO_TPCPOLYCLUSTER_H
0004 #define TPCTRACKRECO_TPCPOLYCLUSTER_H
0005
0006 #include <phool/PHObject.h>
0007 #include <trackbase/TrkrDefs.h>
0008
0009 #include <iostream>
0010 #include <utility>
0011 #include <vector>
0012
0013 class Tpc_PolyCluster : public PHObject
0014 {
0015 public:
0016 Tpc_PolyCluster() = default;
0017 ~Tpc_PolyCluster() override = default;
0018
0019 void identify(std::ostream& os = std::cout) const override
0020 {
0021 os << "Tpc_PolyCluster base class" << std::endl;
0022 }
0023 int isValid() const override { return 0; }
0024
0025 using HitIndex = std::pair<TrkrDefs::hitsetkey, TrkrDefs::hitkey>;
0026
0027 virtual unsigned int get_event() const { return 0; }
0028 virtual unsigned int get_cluster_id() const { return 0; }
0029 virtual unsigned int get_source_assembled_track_id() const { return 0; }
0030 virtual int get_side() const { return 0; }
0031 virtual unsigned int get_nhits() const { return 0; }
0032
0033 virtual double get_centroid_x() const { return 0.0; }
0034 virtual double get_centroid_y() const { return 0.0; }
0035 virtual double get_centroid_z() const { return 0.0; }
0036 virtual double get_rms_x() const { return 0.0; }
0037 virtual double get_rms_y() const { return 0.0; }
0038 virtual double get_rms_z() const { return 0.0; }
0039 virtual double get_adc() const { return 0.0; }
0040 virtual unsigned int get_phi_width() const { return 0; }
0041 virtual unsigned int get_time_width() const { return 0; }
0042 virtual double get_phase() const { return 0.0; }
0043
0044 virtual void set_event(unsigned int) {}
0045 virtual void set_cluster_id(unsigned int) {}
0046 virtual void set_source_assembled_track_id(unsigned int) {}
0047 virtual void set_side(int) {}
0048 virtual void set_centroid_x(double) {}
0049 virtual void set_centroid_y(double) {}
0050 virtual void set_centroid_z(double) {}
0051 virtual void set_rms_x(double) {}
0052 virtual void set_rms_y(double) {}
0053 virtual void set_rms_z(double) {}
0054 virtual void set_adc(double) {}
0055 virtual void set_phi_width(unsigned int) {}
0056 virtual void set_time_width(unsigned int) {}
0057 virtual void set_phase(double) {}
0058
0059 virtual void add_hit(TrkrDefs::hitsetkey, TrkrDefs::hitkey,
0060 double , double , double ) {}
0061 virtual unsigned int size_hits() const { return 0; }
0062 virtual HitIndex get_hit_index(unsigned int) const { return {0, 0}; }
0063 virtual double get_hit_x(unsigned int) const { return 0.0; }
0064 virtual double get_hit_y(unsigned int) const { return 0.0; }
0065 virtual double get_hit_z(unsigned int) const { return 0.0; }
0066 virtual const std::vector<HitIndex>& get_hit_indices() const
0067 {
0068 static const std::vector<HitIndex> empty_indices;
0069 return empty_indices;
0070 }
0071
0072 virtual TrkrDefs::cluskey get_trkr_cluster_key() const { return TrkrDefs::CLUSKEYMAX; }
0073 virtual void set_trkr_cluster_key(TrkrDefs::cluskey) {}
0074
0075 private:
0076 ClassDefOverride(Tpc_PolyCluster, 0)
0077 };
0078 #endif