Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TrkrTruthTrackv1.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file TrkrTruthTrackv1.h
1 #ifndef TRACKBASE_TRKRTRUTHTRACKV1_H
2 #define TRACKBASE_TRKRTRUTHTRACKV1_H
3 
9 #include "TrkrTruthTrack.h"
10 
11 class PHG4Particle;
12 class PHG4VtxPoint;
13 
15 {
16  public:
19  TrkrTruthTrackv1(unsigned int, PHG4Particle*, PHG4VtxPoint*);
20 
22  ~TrkrTruthTrackv1() override = default;
23 
24  unsigned int getTrackid() const override { return trackid; };
25  float getX0() const override { return X0; };
26  float getY0() const override { return Y0; };
27  float getZ0() const override { return Z0; };
28 
29  float getPseudoRapidity() const override { return pseudoRapidity; };
30  float getPt() const override { return pt; };
31  float getPhi() const override { return phi; };
32 
33  std::vector<TrkrDefs::cluskey>& getClusters() override { return clusters; };
34  void addCluster(TrkrDefs::cluskey) override;
35 
36  bool has_hitsetkey(TrkrDefs::hitsetkey) const override; // note, only works when the data is sorted
37  bool has_hitsetkey(TrkrDefs::cluskey) const override;
38  std::pair<bool, TrkrDefs::cluskey> get_cluskey(TrkrDefs::hitsetkey) const override; // bool is if there is the key, and
39 
40  void setTrackid(unsigned int _) override { trackid = _; };
41 
42  void setX0(float _) override { X0 = _; };
43  void setY0(float _) override { Y0 = _; };
44  void setZ0(float _) override { Z0 = _; };
45 
46  void setPseudoRapity(float _) override { pseudoRapidity = _; };
47  void setPt(float _) override { pt = _; };
48  void setPhi(float _) override { phi = _; };
49 
50  void identify(std::ostream& os = std::cout) const override;
51 
52  struct CompHitSetKey {
55  };
58  };
60  return lhs < TrkrDefs::getHitSetKeyFromClusKey(rhs);
61  };
62  };
63 
64  protected:
65  unsigned int trackid;
66  float X0;
67  float Y0;
68  float Z0;
69 
71  float pt;
72  float phi;
73 
74  std::vector<TrkrDefs::cluskey> clusters;
75  ClassDefOverride(TrkrTruthTrackv1, 1)
76 };
77 #endif