Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ClusHitsVerbose.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file ClusHitsVerbose.h
1 #ifndef CLUSHITSVERBOSE__H
2 #define CLUSHITSVERBOSE__H
3 
4 #include "TrkrDefs.h"
5 
6 #include <phool/PHObject.h>
7 
8 #include <map>
9 #include <vector>
10 #include <array>
11 
12 class ClusHitsVerbose : public PHObject
13 {
14  public:
15  using BinData = std::pair<int,int>; // index + energy for a given bin (MVTX, INTT, or TPC)
16  using Vector = std::vector<BinData>;// listing in phi and z (will need two of them)
17  using Map = std::map<TrkrDefs::cluskey, std::array<Vector,4>>;
18  // ^ what is stored:: first: Phi data, Z data, cut Phi data, cut Z data */
19  void Reset() override {}
20 
21  virtual bool hasClusKey (TrkrDefs::cluskey) const { return false; };
22  virtual Vector& phiBins (TrkrDefs::cluskey);
23  virtual Vector& zBins (TrkrDefs::cluskey);
26  virtual Map& getMap();
27 
28  // convenience classes;
29  // ROOT's default library has vector<vector<int>> but not vec<vec<pair<int,int>>>
30  using VecInt = std::vector<int>;
31  using PairVector = std::pair<VecInt,VecInt>;//
32  virtual PairVector phiBins_pvecIE(TrkrDefs::cluskey); // IE for integer-energy
36  virtual void addPhiHit(int, int) {return;}
37  virtual void addZHit(int, int) {return;}
38  virtual void addPhiCutHit(int, int) {return;}
39  virtual void addZCutHit(int, int) {return;}
40  virtual void push_hits (TrkrDefs::cluskey) {return;}
41 
42  // PHObject virtual overload
43  void identify(std::ostream& os = std::cout) const override
44  {
45  os << "ClusHitsVerbose base class" << std::endl;
46  };
47 
48  protected:
49  ClusHitsVerbose() = default;
50  ClassDefOverride(ClusHitsVerbose, 1)
51 };
52 
53 #endif // G4TRACKING_CLUSHITSVERBOSE_H