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
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
0031 using PHObject::CopyFrom;
0032
0033
0034 virtual void CopyFrom(const TrackStateInfo&)
0035 {
0036 }
0037
0038
0039 virtual void CopyFrom(TrackStateInfo*)
0040 {
0041 }
0042
0043
0044
0045
0046
0047
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