File indexing completed on 2024-09-07 04:37:00
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef L1T_OmtfP1_MUONSTUB_H_
0011 #define L1T_OmtfP1_MUONSTUB_H_
0012
0013 #include <vector>
0014 #include <memory>
0015
0016 struct MuonStub {
0017 public:
0018 enum Type {
0019 EMPTY,
0020 DT_PHI,
0021 DT_THETA,
0022 DT_PHI_ETA,
0023 DT_HIT,
0024 RPC,
0025 RPC_DROPPED,
0026 CSC_PHI,
0027 CSC_ETA,
0028 CSC_PHI_ETA,
0029 BARREL_SUPER_SEG,
0030 };
0031
0032 MuonStub();
0033
0034 MuonStub(int phiHw, int phiBHw) : phiHw(phiHw), phiBHw(phiBHw) {}
0035
0036 virtual ~MuonStub();
0037
0038 Type type = EMPTY;
0039
0040 int phiHw = 0;
0041 int phiBHw = 0;
0042
0043 static const int EMTPY_PHI = 0xffffff;
0044
0045 int etaHw = 0;
0046 int r = 0;
0047 int qualityHw = 0;
0048
0049 int bx = 0;
0050 int timing = 0;
0051
0052
0053 unsigned int logicLayer = 0;
0054
0055 unsigned int input = 0;
0056
0057
0058
0059 int detId = 0;
0060
0061 friend std::ostream& operator<<(std::ostream& out, const MuonStub& stub);
0062 };
0063
0064 typedef std::vector<MuonStub> MuonStubs1D;
0065 typedef std::vector<MuonStubs1D> MuonStubs2D;
0066
0067 typedef std::shared_ptr<MuonStub> MuonStubPtr;
0068 typedef std::vector<MuonStubPtr> MuonStubPtrs1D;
0069 typedef std::vector<MuonStubPtrs1D> MuonStubPtrs2D;
0070
0071 #endif