CMS 3D CMS Logo

L1MuBMSEU.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
15 //
16 //--------------------------------------------------
17 #ifndef L1MUBM_SEU_H
18 #define L1MUBM_SEU_H
19 
20 //---------------
21 // C++ Headers --
22 //---------------
23 
24 #include <utility>
25 #include <vector>
26 #include <bitset>
27 
28 //----------------------
29 // Base Class Headers --
30 //----------------------
31 
33 
34 //------------------------------------
35 // Collaborating Class Declarations --
36 //------------------------------------
37 
40 class L1MuBMTrackSegPhi;
41 class L1MuBMEUX;
42 class L1MuBMERS;
43 
44 // ---------------------
45 // -- Class Interface --
46 // ---------------------
47 
49 public:
51  L1MuBMSEU(const L1MuBMSectorProcessor& sp, Extrapolation ext, unsigned int tsId);
52 
54  ~L1MuBMSEU() override;
55 
57  void run(const edm::EventSetup& c) override;
58 
60  void reset() override;
61 
63  void reset(unsigned int relAdr);
64 
66  inline void load(const L1MuBMTrackSegPhi* startTS) { m_startTS = startTS; }
67 
69  const std::bitset<12>& exTable() const { return m_EXtable; }
70 
72  const std::bitset<12>& qsTable() const { return m_QStable; }
73 
75  int numberOfExt() const;
76 
78  inline Extrapolation ext() const { return m_ext; }
79 
81  inline unsigned int tsId() const { return m_startTS_Id; }
82 
84  inline bool isOwnWheelSEU() const { return (m_startTS_Id == 0 || m_startTS_Id == 1); }
85 
87  inline bool isNextWheelSEU() const { return (m_startTS_Id == 2 || m_startTS_Id == 3); }
88 
90  inline const std::vector<L1MuBMEUX*>& eux() const { return m_EUXs; }
91 
93  inline const L1MuBMERS* ers() const { return m_ERS; }
94 
95 private:
97  Extrapolation m_ext; // Extrapolation type
98  unsigned int m_startTS_Id; // rel. address of start TS
99 
100  const L1MuBMTrackSegPhi* m_startTS; // start track segment
101  std::vector<L1MuBMEUX*> m_EUXs; // vector of Extrapolators
102  L1MuBMERS* m_ERS; // Extrapolation Result Selector
103 
104  std::bitset<12> m_EXtable; // Extrapolator table
105  std::bitset<12> m_QStable; // Quality Selector table
106 };
107 
108 #endif
L1MuBMSEU::L1MuBMSEU
L1MuBMSEU(const L1MuBMSectorProcessor &sp, Extrapolation ext, unsigned int tsId)
constructor
Definition: L1MuBMSEU.cc:50
ext
Definition: memstream.h:15
L1MuBMSEU::qsTable
const std::bitset< 12 > & qsTable() const
return Quality Sorter table
Definition: L1MuBMSEU.h:72
L1MuBMTrackSegPhi
Definition: L1MuBMTrackSegPhi.h:41
L1MuBMSEU::isOwnWheelSEU
bool isOwnWheelSEU() const
is it a own wheel Single Extrapolation Unit
Definition: L1MuBMSEU.h:84
L1MuBMSEU::m_startTS_Id
unsigned int m_startTS_Id
Definition: L1MuBMSEU.h:98
L1AbstractProcessor.h
L1MuBMSEU::tsId
unsigned int tsId() const
return start track segment identifier (relative address)
Definition: L1MuBMSEU.h:81
L1MuBMSEU::m_ERS
L1MuBMERS * m_ERS
Definition: L1MuBMSEU.h:102
L1MuBMEUX
Definition: L1MuBMEUX.h:52
L1MuBMSEU::~L1MuBMSEU
~L1MuBMSEU() override
destructor
Definition: L1MuBMSEU.cc:65
L1MuBMSEU::isNextWheelSEU
bool isNextWheelSEU() const
is it a next wheel Single Extrapolation Unit
Definition: L1MuBMSEU.h:87
L1MuBMSectorProcessor
Definition: L1MuBMSectorProcessor.h:54
L1MuBMSEU::m_EXtable
std::bitset< 12 > m_EXtable
Definition: L1MuBMSEU.h:104
L1MuBMSEU::eux
const std::vector< L1MuBMEUX * > & eux() const
return pointer to an Extrapolator
Definition: L1MuBMSEU.h:90
L1MuBMSEU::reset
void reset() override
reset SEU
Definition: L1MuBMSEU.cc:147
Extrapolation
Extrapolation
Definition: L1MuDTExtParam.h:22
L1AbstractProcessor
Definition: L1AbstractProcessor.h:34
L1MuDTExtParam.h
L1MuBMSEU::m_EUXs
std::vector< L1MuBMEUX * > m_EUXs
Definition: L1MuBMSEU.h:101
L1MuBMSEU::m_QStable
std::bitset< 12 > m_QStable
Definition: L1MuBMSEU.h:105
L1AbstractProcessor::run
virtual void run()
run processor logic
Definition: L1AbstractProcessor.h:40
L1MuBMSEU::ext
Extrapolation ext() const
return extrapolation type
Definition: L1MuBMSEU.h:78
edm::EventSetup
Definition: EventSetup.h:58
L1MuBMSEU::m_startTS
const L1MuBMTrackSegPhi * m_startTS
Definition: L1MuBMSEU.h:100
L1MuBMSEU::exTable
const std::bitset< 12 > & exTable() const
return Extrapolator table
Definition: L1MuBMSEU.h:69
L1MuBMSEU::m_sp
const L1MuBMSectorProcessor & m_sp
Definition: L1MuBMSEU.h:96
L1MuBMERS
Definition: L1MuBMERS.h:43
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56
L1MuBMSEU::load
void load(const L1MuBMTrackSegPhi *startTS)
load data into the SEU
Definition: L1MuBMSEU.h:66
L1MuBMSEU::ers
const L1MuBMERS * ers() const
return pointer to Extrapolation Result Selector
Definition: L1MuBMSEU.h:93
L1MuBMSEU
Definition: L1MuBMSEU.h:48
L1MuBMSEU::m_ext
Extrapolation m_ext
Definition: L1MuBMSEU.h:97
L1MuBMSEU::numberOfExt
int numberOfExt() const
return number of successful extrapolations
Definition: L1MuBMSEU.cc:173