Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:17:06

0001 #ifndef __SVTXTRACKSTATE_H__
0002 #define __SVTXTRACKSTATE_H__
0003 
0004 #include <trackbase/TrkrDefs.h>
0005 
0006 #include <phool/PHObject.h>
0007 
0008 #include <limits>
0009 
0010 class SvtxTrackState : public PHObject
0011 {
0012  public:
0013   ~SvtxTrackState() override {}
0014 
0015   void identify(std::ostream &os = std::cout) const override
0016   {
0017     os << "SvtxTrackState base class" << std::endl;
0018   }
0019 
0020   int isValid() const override { return 0; }
0021   PHObject *CloneMe() const override { return nullptr; }
0022 
0023   virtual float get_pathlength() const { return std::numeric_limits<float>::quiet_NaN(); }
0024 
0025   virtual float get_localX() const { return std::numeric_limits<float>::quiet_NaN(); }
0026   virtual void set_localX(float) {}
0027 
0028   virtual float get_localY() const { return std::numeric_limits<float>::quiet_NaN(); }
0029   virtual void set_localY(float) {}
0030 
0031   virtual float get_x() const { return std::numeric_limits<float>::quiet_NaN(); }
0032   virtual void set_x(float) {}
0033 
0034   virtual float get_y() const { return std::numeric_limits<float>::quiet_NaN(); }
0035   virtual void set_y(float) {}
0036 
0037   virtual float get_z() const { return std::numeric_limits<float>::quiet_NaN(); }
0038   virtual void set_z(float) {}
0039 
0040   virtual float get_pos(unsigned int /*i*/) const { return std::numeric_limits<float>::quiet_NaN(); }
0041 
0042   virtual float get_px() const { return std::numeric_limits<float>::quiet_NaN(); }
0043   virtual void set_px(float) {}
0044 
0045   virtual float get_py() const { return std::numeric_limits<float>::quiet_NaN(); }
0046   virtual void set_py(float) {}
0047 
0048   virtual float get_pz() const { return std::numeric_limits<float>::quiet_NaN(); }
0049   virtual void set_pz(float) {}
0050 
0051   virtual float get_mom(unsigned int /*i*/) const { return std::numeric_limits<float>::quiet_NaN(); }
0052 
0053   virtual float get_p() const { return std::numeric_limits<float>::quiet_NaN(); }
0054   virtual float get_pt() const { return std::numeric_limits<float>::quiet_NaN(); }
0055   virtual float get_eta() const { return std::numeric_limits<float>::quiet_NaN(); }
0056   virtual float get_phi() const { return std::numeric_limits<float>::quiet_NaN(); }
0057 
0058   virtual float get_error(unsigned int /*i*/, unsigned int /*j*/) const { return std::numeric_limits<float>::quiet_NaN(); }
0059   virtual void set_error(unsigned int /*i*/, unsigned int /*j*/, float /*value*/) {}
0060 
0061   virtual TrkrDefs::cluskey get_cluskey() const { return std::numeric_limits<TrkrDefs::cluskey>::max(); }
0062   virtual void set_cluskey(TrkrDefs::cluskey) {}
0063 
0064   virtual std::string get_name() const { return ""; }
0065   virtual void set_name(const std::string & /*name*/) {}
0066 
0067   ///@name convenience interface, also found in Trkrcluster
0068   //@{
0069 
0070   /// rphi error
0071   virtual float get_rphi_error() const
0072   {
0073     return std::numeric_limits<float>::quiet_NaN();
0074   }
0075 
0076   /// phi error
0077   virtual float get_phi_error() const
0078   {
0079     return std::numeric_limits<float>::quiet_NaN();
0080   }
0081 
0082   /// z error
0083   virtual float get_z_error() const
0084   {
0085     return std::numeric_limits<float>::quiet_NaN();
0086   }
0087 
0088   //@}
0089 
0090  protected:
0091   SvtxTrackState(float /*pathlength*/ = 0.0) {}
0092 
0093   ClassDefOverride(SvtxTrackState, 1);
0094 };
0095 
0096 #endif