Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-01-07 03:06:28

0001 #ifndef DataFormats_Phase2TrackerDigi_Phase2ITChip_H
0002 #define DataFormats_Phase2TrackerDigi_Phase2ITChip_H
0003 #include <vector>
0004 #include <utility>
0005 #include <string>
0006 #include "DataFormats/Phase2TrackerDigi/interface/Phase2ITQCore.h"
0007 #include "DataFormats/Phase2TrackerDigi/interface/Phase2ITDigiHit.h"
0008 
0009 class Phase2ITChip {
0010   // Quarter cores collected into a chip (only active quarter cores with hits gets collected)
0011 
0012 public:
0013   Phase2ITChip(int rocnum, const std::vector<Phase2ITDigiHit> hl);
0014 
0015   unsigned int size();
0016   int rocnum() const { return rocnum_; }
0017 
0018   std::vector<Phase2ITQCore> get_organized_QCores();
0019   std::vector<bool> get_chip_code();
0020 
0021 private:
0022   std::vector<Phase2ITDigiHit> hitList_;
0023   int rocnum_;
0024 
0025   std::pair<int, int> get_QCore_pos(Phase2ITDigiHit hit);
0026 
0027   Phase2ITQCore get_QCore_from_hit(Phase2ITDigiHit pixel);
0028   std::vector<Phase2ITQCore> rem_duplicates(std::vector<Phase2ITQCore> qcores);
0029   std::vector<Phase2ITQCore> organize_QCores(std::vector<Phase2ITQCore> qcores);
0030 };
0031 
0032 #endif  // DataFormats_Phase2TrackerDigi_Phase2ITChip_H