File indexing completed on 2023-03-17 11:12:51
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef L1T_OmtfP1_MUONSTUBSINPUT_H_
0009 #define L1T_OmtfP1_MUONSTUBSINPUT_H_
0010
0011 #include "L1Trigger/L1TMuonOverlapPhase1/interface/ProcConfigurationBase.h"
0012 #include "L1Trigger/L1TMuonOverlapPhase1/interface/MuonStub.h"
0013 #include <ostream>
0014
0015 class MuonStubsInput {
0016 public:
0017 MuonStubsInput(const ProcConfigurationBase* config);
0018
0019 virtual ~MuonStubsInput() {}
0020
0021 virtual void addStub(unsigned int iLayer, const MuonStubPtr& stub) {
0022 muonStubsInLayers.at(iLayer).emplace_back(stub);
0023 }
0024
0025 virtual MuonStubPtrs2D& getMuonStubs() { return muonStubsInLayers; }
0026
0027 virtual const MuonStubPtrs2D& getMuonStubs() const { return muonStubsInLayers; }
0028
0029
0030
0031 virtual int getPhiHw(unsigned int iLayer, unsigned int iInput) const;
0032
0033 friend std::ostream& operator<<(std::ostream& out, const MuonStubsInput& stubsInput);
0034
0035 protected:
0036 const ProcConfigurationBase* config = nullptr;
0037
0038
0039 MuonStubPtrs2D muonStubsInLayers;
0040 };
0041
0042 #endif