File indexing completed on 2025-08-06 08:18:08
0001 #ifndef CLUSHITSVERBOSE__H
0002 #define CLUSHITSVERBOSE__H
0003
0004 #include "TrkrDefs.h"
0005
0006 #include <phool/PHObject.h>
0007
0008 #include <array>
0009 #include <map>
0010 #include <vector>
0011
0012 class ClusHitsVerbose : public PHObject
0013 {
0014 public:
0015 using BinData = std::pair<int, int>;
0016 using Vector = std::vector<BinData>;
0017 using Map = std::map<TrkrDefs::cluskey, std::array<Vector, 4>>;
0018
0019 void Reset() override {}
0020
0021 virtual bool hasClusKey(TrkrDefs::cluskey) const { return false; };
0022 virtual Vector& phiBins(TrkrDefs::cluskey);
0023 virtual Vector& zBins(TrkrDefs::cluskey);
0024 virtual Vector& phiCutBins(TrkrDefs::cluskey);
0025 virtual Vector& zCutBins(TrkrDefs::cluskey);
0026 virtual Map& getMap();
0027
0028
0029
0030 using VecInt = std::vector<int>;
0031 using PairVector = std::pair<VecInt, VecInt>;
0032 virtual PairVector phiBins_pvecIE(TrkrDefs::cluskey);
0033 virtual PairVector phiCutBins_pvecIE(TrkrDefs::cluskey);
0034 virtual PairVector zBins_pvecIE(TrkrDefs::cluskey);
0035 virtual PairVector zCutBins_pvecIE(TrkrDefs::cluskey);
0036 virtual void addPhiHit(int, int) { return; }
0037 virtual void addZHit(int, int) { return; }
0038 virtual void addPhiCutHit(int, int) { return; }
0039 virtual void addZCutHit(int, int) { return; }
0040 virtual void push_hits(TrkrDefs::cluskey) { return; }
0041
0042
0043 void identify(std::ostream& os = std::cout) const override
0044 {
0045 os << "ClusHitsVerbose base class" << std::endl;
0046 };
0047
0048 protected:
0049 ClusHitsVerbose() = default;
0050 ClassDefOverride(ClusHitsVerbose, 1)
0051 };
0052
0053 #endif