Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-08-31 08:21:22

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
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 /*x*/, double /*y*/, double /*z*/) {}
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