Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:16:30

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef GLOBALVERTEX_SVTXVERTEX_H
0004 #define GLOBALVERTEX_SVTXVERTEX_H
0005 
0006 #include "Vertex.h"
0007 
0008 #include <cstddef>
0009 #include <iostream>
0010 #include <limits>
0011 
0012 class SvtxVertex : public Vertex
0013 {
0014  public:
0015   ~SvtxVertex() override = default;
0016 
0017   // PHObject virtual overloads
0018 
0019   void identify(std::ostream& os = std::cout) const override
0020   {
0021     os << "SvtxVertex base class" << std::endl;
0022   }
0023 
0024   int isValid() const override { return 0; }
0025   PHObject* CloneMe() const override { return nullptr; }
0026 
0027   // vertex info
0028 
0029   virtual unsigned int get_id() const override { return std::numeric_limits<unsigned int>::max(); }
0030   virtual void set_id(unsigned int) override {}
0031 
0032   virtual float get_t0() const override { return get_t(); }
0033   virtual void set_t0(float t0) override { set_t(t0); }
0034 
0035   virtual float get_t() const override { return std::numeric_limits<float>::quiet_NaN(); }
0036   virtual void set_t(float) override {}
0037 
0038   virtual float get_x() const override { return std::numeric_limits<float>::quiet_NaN(); }
0039   virtual void set_x(float) override {}
0040 
0041   virtual float get_y() const override { return std::numeric_limits<float>::quiet_NaN(); }
0042   virtual void set_y(float) override {}
0043 
0044   virtual float get_z() const override { return std::numeric_limits<float>::quiet_NaN(); }
0045   virtual void set_z(float) override {}
0046 
0047   virtual float get_chisq() const override { return std::numeric_limits<float>::quiet_NaN(); }
0048   virtual void set_chisq(float) override {}
0049 
0050   virtual unsigned int get_ndof() const override { return std::numeric_limits<unsigned int>::max(); }
0051   virtual void set_ndof(unsigned int) override {}
0052 
0053   virtual float get_position(unsigned int) const override { return std::numeric_limits<float>::quiet_NaN(); }
0054   virtual void set_position(unsigned int, float) override {}
0055 
0056   virtual float get_error(unsigned int, unsigned int) const override { return std::numeric_limits<float>::quiet_NaN(); }
0057   virtual void set_error(unsigned int, unsigned int, float) override {}
0058 
0059   //
0060   // associated track ids methods
0061   //
0062   virtual void clear_tracks() override {}
0063   virtual bool empty_tracks() override { return true; }
0064   virtual size_t size_tracks() const override { return 0; }
0065   virtual void insert_track(unsigned int /*trackid*/) override {}
0066   virtual size_t erase_track(unsigned int /*trackid*/) override { return 0; }
0067   virtual ConstTrackIter begin_tracks() const override;
0068   virtual ConstTrackIter find_track(unsigned int trackid) const override;
0069   virtual ConstTrackIter end_tracks() const override;
0070   virtual TrackIter begin_tracks() override;
0071   virtual TrackIter find_track(unsigned int trackid) override;
0072   virtual TrackIter end_tracks() override;
0073 
0074  protected:
0075   ClassDefOverride(SvtxVertex, 1);
0076 };
0077 
0078 #endif