CMS 3D CMS Logo

MuonStubsInput.h
Go to the documentation of this file.
1 /*
2  * MuonStubsInput.h
3  *
4  * Created on: Jan 31, 2019
5  * Author: Karol Bunkowski kbunkow@cern.ch
6  */
7 
8 #ifndef L1T_OmtfP1_MUONSTUBSINPUT_H_
9 #define L1T_OmtfP1_MUONSTUBSINPUT_H_
10 
13 #include <ostream>
14 
16 public:
18 
19  virtual ~MuonStubsInput() {}
20 
21  virtual void addStub(unsigned int iLayer, const MuonStubPtr& stub) {
22  muonStubsInLayers.at(iLayer).emplace_back(stub);
23  }
24 
26 
27  virtual const MuonStubPtrs2D& getMuonStubs() const { return muonStubsInLayers; }
28 
29  //gives stub phiHw or phiBHw - depending which layer is requested
30  //if there is no stub at input iInput - return MuonStub::EMTPY_PHI
31  virtual int getPhiHw(unsigned int iLayer, unsigned int iInput) const;
32 
33  friend std::ostream& operator<<(std::ostream& out, const MuonStubsInput& stubsInput);
34 
35 protected:
36  const ProcConfigurationBase* config = nullptr;
37 
38  //indexing: muonStubsInLayers[iLayer][iStub]
40 };
41 
42 #endif /* L1T_OmtfP1_MUONSTUBSINPUT_H_ */
virtual ~MuonStubsInput()
Definition: config.py:1
std::vector< MuonStubPtrs1D > MuonStubPtrs2D
Definition: MuonStub.h:67
virtual MuonStubPtrs2D & getMuonStubs()
virtual void addStub(unsigned int iLayer, const MuonStubPtr &stub)
std::shared_ptr< MuonStub > MuonStubPtr
Definition: MuonStub.h:65
virtual int getPhiHw(unsigned int iLayer, unsigned int iInput) const
virtual const MuonStubPtrs2D & getMuonStubs() const
MuonStubsInput(const ProcConfigurationBase *config)
friend std::ostream & operator<<(std::ostream &out, const MuonStubsInput &stubsInput)
MuonStubPtrs2D muonStubsInLayers