File indexing completed on 2023-03-17 11:12:50
0001 #ifndef L1T_OmtfP1_OMTFinput_H
0002 #define L1T_OmtfP1_OMTFinput_H
0003
0004 #include "L1Trigger/L1TMuonOverlapPhase1/interface/MuonStubsInput.h"
0005 #include "L1Trigger/L1TMuonOverlapPhase1/interface/MuonStub.h"
0006
0007 #include <vector>
0008 #include <ostream>
0009 #include <bitset>
0010
0011 class XMLConfigReader;
0012 class OMTFConfiguration;
0013
0014 class OMTFinput : public MuonStubsInput {
0015 public:
0016 OMTFinput(const OMTFConfiguration *);
0017
0018 ~OMTFinput() override {}
0019
0020
0021 void readData(XMLConfigReader *aReader, unsigned int iEvent = 0, unsigned int iProcessor = 0);
0022
0023
0024 void shiftMyPhi(int phiShift);
0025
0026
0027
0028 void mergeData(const OMTFinput *aInput);
0029
0030 const MuonStubPtr getMuonStub(unsigned int iLayer, unsigned int iInput) const {
0031 return muonStubsInLayers.at(iLayer).at(iInput);
0032 }
0033
0034
0035 int getPhiHw(unsigned int iLayer, unsigned int iInput) const override;
0036
0037
0038 const int getHitEta(unsigned int iLayer, unsigned int iInput) const;
0039
0040 std::bitset<128> getRefHits(unsigned int iProcessor) const;
0041
0042 friend std::ostream &operator<<(std::ostream &out, const OMTFinput &aInput);
0043
0044 private:
0045 const OMTFConfiguration *myOmtfConfig = nullptr;
0046 };
0047
0048 #endif