Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 #ifndef TRACKBASEHISTORIC_TRACKSTATEINFO_H
0002 #define TRACKBASEHISTORIC_TRACKSTATEINFO_H
0003 
0004 #include <trackbase/TrkrDefs.h>
0005 
0006 #include <g4main/PHG4HitDefs.h>
0007 #include <phool/PHObject.h>
0008 
0009 #include <limits.h>
0010 #include <cmath>
0011 #include <iostream>
0012 #include <map>
0013 #include <set>
0014 
0015 class TrackStateInfo : public PHObject
0016 {
0017  public:
0018   TrackStateInfo() = default;
0019   ~TrackStateInfo() override = default;
0020 
0021   // The "standard PHObject response" functions...
0022   void identify(std::ostream& os = std::cout) const override
0023   {
0024     os << "TrackStateInfo base class" << std::endl;
0025   }
0026 
0027   int isValid() const override { return 0; }
0028   PHObject* CloneMe() const override { return nullptr; }
0029 
0030   //! import PHObject CopyFrom, in order to avoid clang warning
0031   using PHObject::CopyFrom;
0032 
0033   //! copy content from base class
0034   virtual void CopyFrom(const TrackStateInfo&)
0035   {
0036   }
0037 
0038   //! copy content from base class
0039   virtual void CopyFrom(TrackStateInfo*)
0040   {
0041   }
0042 
0043   //
0044   // basic track information ---------------------------------------------------
0045   //
0046 
0047   // vertex information
0048   virtual float get_x() const { return NAN; }
0049   virtual void set_x(float) {}
0050 
0051   virtual float get_y() const { return NAN; }
0052   virtual void set_y(float) {}
0053 
0054   virtual float get_z() const { return NAN; }
0055   virtual void set_z(float) {}
0056 
0057   virtual float get_pos(unsigned int) const { return NAN; }
0058 
0059   virtual float get_px() const { return NAN; }
0060   virtual float get_py() const { return NAN; }
0061   virtual float get_pz() const { return NAN; }
0062   virtual int get_charge() const { return std::numeric_limits<int>::quiet_NaN(); }
0063 
0064   virtual float get_phi() const { return NAN; }
0065   virtual float get_theta() const { return NAN; }
0066   virtual float get_qOp() const { return NAN; }
0067   virtual void set_phi(const float) {}
0068   virtual void set_theta(const float) {}
0069   virtual void set_qOp(const float) {}
0070 
0071   virtual float get_mom(unsigned int) const { return NAN; }
0072 
0073   virtual float get_p() const { return NAN; }
0074   virtual float get_pt() const { return NAN; }
0075   virtual float get_eta() const { return NAN; }
0076 
0077   virtual float get_covariance(int, int) const { return NAN; }
0078   virtual void set_covariance(int, int, float) {}
0079 
0080  private:
0081   ClassDefOverride(TrackStateInfo, 1);
0082 };
0083 
0084 #endif