File indexing completed on 2024-11-15 23:40:41
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef L1MUBM_SEU_H
0018 #define L1MUBM_SEU_H
0019
0020
0021
0022
0023
0024 #include <utility>
0025 #include <vector>
0026 #include <bitset>
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036 #include "FWCore/Framework/interface/EventSetup.h"
0037 #include "CondFormats/L1TObjects/interface/L1MuDTExtParam.h"
0038 class L1MuBMSectorProcessor;
0039 class L1MuBMTFConfig;
0040 class L1TMuonBarrelParams;
0041 class L1MuBMTrackSegPhi;
0042 class L1MuBMEUX;
0043 class L1MuBMERS;
0044
0045
0046
0047
0048
0049 class L1MuBMSEU {
0050 public:
0051
0052 L1MuBMSEU(const L1MuBMSectorProcessor& sp, Extrapolation ext, unsigned int tsId);
0053
0054
0055 ~L1MuBMSEU();
0056
0057
0058 void run(const L1TMuonBarrelParams& params);
0059
0060
0061 void reset();
0062
0063
0064 void reset(unsigned int relAdr);
0065
0066
0067 inline void load(const L1MuBMTrackSegPhi* startTS) { m_startTS = startTS; }
0068
0069
0070 const std::bitset<12>& exTable() const { return m_EXtable; }
0071
0072
0073 const std::bitset<12>& qsTable() const { return m_QStable; }
0074
0075
0076 int numberOfExt() const;
0077
0078
0079 inline Extrapolation ext() const { return m_ext; }
0080
0081
0082 inline unsigned int tsId() const { return m_startTS_Id; }
0083
0084
0085 inline bool isOwnWheelSEU() const { return (m_startTS_Id == 0 || m_startTS_Id == 1); }
0086
0087
0088 inline bool isNextWheelSEU() const { return (m_startTS_Id == 2 || m_startTS_Id == 3); }
0089
0090
0091 inline const std::vector<L1MuBMEUX*>& eux() const { return m_EUXs; }
0092
0093
0094 inline const L1MuBMERS* ers() const { return m_ERS; }
0095
0096 const L1MuBMTFConfig& config() const;
0097
0098 private:
0099 const L1MuBMSectorProcessor& m_sp;
0100 Extrapolation m_ext;
0101 unsigned int m_startTS_Id;
0102
0103 const L1MuBMTrackSegPhi* m_startTS;
0104 std::vector<L1MuBMEUX*> m_EUXs;
0105 L1MuBMERS* m_ERS;
0106
0107 std::bitset<12> m_EXtable;
0108 std::bitset<12> m_QStable;
0109 };
0110
0111 #endif