CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MuonStub.h
Go to the documentation of this file.
1 /*
2  * MuonStub.h
3  *
4  * Created on: Dec 21, 2018
5  * Author: kbunkow
6  *
7  * MuonStub - data structure for algorithm input
8  */
9 
10 #ifndef L1T_OmtfP1_MUONSTUB_H_
11 #define L1T_OmtfP1_MUONSTUB_H_
12 
13 #include <vector>
14 #include <memory>
15 
16 struct MuonStub {
17 public:
18  enum Type {
24  RPC,
29  };
30 
31  MuonStub();
32 
33  MuonStub(int phiHw, int phiBHw) : phiHw(phiHw), phiBHw(phiBHw){};
34 
35  virtual ~MuonStub();
36 
38 
39  int phiHw = 0;
40  int phiBHw = 0;
41 
42  static const int EMTPY_PHI = 0xffffff;
43 
44  int etaHw = 0;
45  int etaSigmaHw = 0;
46  int qualityHw = 0;
47 
48  int bx = 0;
49  int timing = 0;
50 
51  //used to address LUTs
52  unsigned int logicLayer = 0;
53 
54  //int roll = 0; //TODO remove
55 
56  int detId = 0;
57 
58  friend std::ostream& operator<<(std::ostream& out, const MuonStub& stub);
59 };
60 
61 typedef std::vector<MuonStub> MuonStubs1D;
62 typedef std::vector<MuonStubs1D> MuonStubs2D;
63 
64 typedef std::shared_ptr<const MuonStub> MuonStubPtr;
65 typedef std::vector<MuonStubPtr> MuonStubPtrs1D;
66 typedef std::vector<MuonStubPtrs1D> MuonStubPtrs2D;
67 
68 #endif /* L1T_OmtfP1_MUONSTUB_H_ */
int timing
Definition: MuonStub.h:49
int detId
Definition: MuonStub.h:56
friend std::ostream & operator<<(std::ostream &out, const MuonStub &stub)
Definition: MuonStub.cc:20
MuonStub(int phiHw, int phiBHw)
Definition: MuonStub.h:33
virtual ~MuonStub()
Definition: MuonStub.cc:18
int qualityHw
error of the eta measurement
Definition: MuonStub.h:46
int phiBHw
Definition: MuonStub.h:40
int etaSigmaHw
Definition: MuonStub.h:45
std::vector< MuonStubPtr > MuonStubPtrs1D
Definition: MuonStub.h:65
int etaHw
Definition: MuonStub.h:44
std::vector< MuonStubPtrs1D > MuonStubPtrs2D
Definition: MuonStub.h:66
std::shared_ptr< const MuonStub > MuonStubPtr
Definition: MuonStub.h:64
int bx
Definition: MuonStub.h:48
std::vector< MuonStubs1D > MuonStubs2D
Definition: MuonStub.h:62
std::vector< MuonStub > MuonStubs1D
Definition: MuonStub.h:61
MuonStub()
Definition: MuonStub.cc:16
unsigned int logicLayer
Definition: MuonStub.h:52
static const int EMTPY_PHI
Definition: MuonStub.h:42
int phiHw
Definition: MuonStub.h:39