EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SvtxVertex.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file SvtxVertex.h
1 #ifndef TRACKBASEHISTORIC_SVTXVERTEX_H
2 #define TRACKBASEHISTORIC_SVTXVERTEX_H
3 
4 #include <phool/PHObject.h>
5 
6 #include <cmath>
7 #include <iostream>
8 #include <climits>
9 #include <set>
10 #include <vector>
11 
12 class SvtxVertex : public PHObject
13 {
14  public:
15  typedef std::set<unsigned int> TrackSet;
16  typedef std::set<unsigned int>::const_iterator ConstTrackIter;
17  typedef std::set<unsigned int>::iterator TrackIter;
18 
19  ~SvtxVertex() override {}
20 
21  // PHObject virtual overloads
22 
23  void identify(std::ostream& os = std::cout) const override
24  {
25  os << "SvtxVertex base class" << std::endl;
26  }
27 
28  int isValid() const override { return 0; }
29  PHObject* CloneMe() const override { return nullptr; }
30 
31  // vertex info
32 
33  virtual unsigned int get_id() const { return UINT_MAX; }
34  virtual void set_id(unsigned int) {}
35 
36  virtual float get_t0() const { return NAN; }
37  virtual void set_t0(float) {}
38 
39  virtual float get_x() const { return NAN; }
40  virtual void set_x(float) {}
41 
42  virtual float get_y() const { return NAN; }
43  virtual void set_y(float) {}
44 
45  virtual float get_z() const { return NAN; }
46  virtual void set_z(float) {}
47 
48  virtual float get_chisq() const { return NAN; }
49  virtual void set_chisq(float) {}
50 
51  virtual unsigned int get_ndof() const { return UINT_MAX; }
52  virtual void set_ndof(unsigned int) {}
53 
54  virtual float get_position(unsigned int) const { return NAN; }
55  virtual void set_position(unsigned int /*coor*/, float /*xi*/) {}
56 
57  virtual float get_error(unsigned int /*i*/, unsigned int /*j*/) const { return NAN; }
58  virtual void set_error(unsigned int /*i*/, unsigned int /*j*/, float /*value*/) {}
59 
60  //
61  // associated track ids methods
62  //
63  virtual void clear_tracks() {}
64  virtual bool empty_tracks() { return true; }
65  virtual size_t size_tracks() const { return 0; }
66  virtual void insert_track(unsigned int /*trackid*/) {}
67  virtual size_t erase_track(unsigned int /*trackid*/) { return 0; }
68  virtual ConstTrackIter begin_tracks() const;
69  virtual ConstTrackIter find_track(unsigned int trackid) const;
70  virtual ConstTrackIter end_tracks() const;
71  virtual TrackIter begin_tracks();
72  virtual TrackIter find_track(unsigned int trackid);
73  virtual TrackIter end_tracks();
74 
75  protected:
77 
79 };
80 
81 #endif