CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1MuDTSEU.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
17 //
18 //--------------------------------------------------
19 #ifndef L1MUDT_SEU_H
20 #define L1MUDT_SEU_H
21 
22 //---------------
23 // C++ Headers --
24 //---------------
25 
26 #include <utility>
27 #include <vector>
28 #include <bitset>
29 
30 //----------------------
31 // Base Class Headers --
32 //----------------------
33 
35 
36 //------------------------------------
37 // Collaborating Class Declarations --
38 //------------------------------------
39 
42 class L1MuDTTrackSegPhi;
43 class L1MuDTEUX;
44 class L1MuDTERS;
45 
46 // ---------------------
47 // -- Class Interface --
48 // ---------------------
49 
51 
52  public:
53 
55  L1MuDTSEU(const L1MuDTSectorProcessor& sp, Extrapolation ext, unsigned int tsId );
56 
58  virtual ~L1MuDTSEU();
59 
61  virtual void run(const edm::EventSetup& c);
62 
64  virtual void reset();
65 
67  void reset(unsigned int relAdr);
68 
70  inline void load(const L1MuDTTrackSegPhi* startTS) { m_startTS = startTS; }
71 
73  const std::bitset<12>& exTable() const { return m_EXtable; }
74 
76  const std::bitset<12>& qsTable() const { return m_QStable; }
77 
79  int numberOfExt() const;
80 
82  inline Extrapolation ext() const { return m_ext; }
83 
85  inline unsigned int tsId() const { return m_startTS_Id; }
86 
88  inline bool isOwnWheelSEU() const { return ( m_startTS_Id == 0 || m_startTS_Id == 1 ); }
89 
91  inline bool isNextWheelSEU() const { return ( m_startTS_Id == 2 || m_startTS_Id == 3 ); }
92 
94  inline const std::vector<L1MuDTEUX*>& eux() const { return m_EUXs; }
95 
97  inline const L1MuDTERS* ers() const { return m_ERS; }
98 
99  private:
100 
102  Extrapolation m_ext; // Extrapolation type
103  unsigned int m_startTS_Id; // rel. address of start TS
104 
105  const L1MuDTTrackSegPhi* m_startTS; // start track segment
106  std::vector<L1MuDTEUX*> m_EUXs; // vector of Extrapolators
107  L1MuDTERS* m_ERS; // Extrapolation Result Selector
108 
109  std::bitset<12> m_EXtable; // Extrapolator table
110  std::bitset<12> m_QStable; // Quality Selector table
111 };
112 
113 #endif
const std::bitset< 12 > & qsTable() const
return Quality Sorter table
Definition: L1MuDTSEU.h:76
Extrapolation m_ext
Definition: L1MuDTSEU.h:102
Extrapolation ext() const
return extrapolation type
Definition: L1MuDTSEU.h:82
virtual void reset()
reset SEU
Definition: L1MuDTSEU.cc:157
void load(const L1MuDTTrackSegPhi *startTS)
load data into the SEU
Definition: L1MuDTSEU.h:70
unsigned int m_startTS_Id
Definition: L1MuDTSEU.h:103
std::vector< L1MuDTEUX * > m_EUXs
Definition: L1MuDTSEU.h:106
L1MuDTSEU(const L1MuDTSectorProcessor &sp, Extrapolation ext, unsigned int tsId)
constructor
Definition: L1MuDTSEU.cc:52
std::bitset< 12 > m_EXtable
Definition: L1MuDTSEU.h:109
virtual void run()
run processor logic
std::bitset< 12 > m_QStable
Definition: L1MuDTSEU.h:110
const L1MuDTERS * ers() const
return pointer to Extrapolation Result Selector
Definition: L1MuDTSEU.h:97
Extrapolation
const L1MuDTSectorProcessor & m_sp
Definition: L1MuDTSEU.h:101
bool isNextWheelSEU() const
is it a next wheel Single Extrapolation Unit
Definition: L1MuDTSEU.h:91
const std::bitset< 12 > & exTable() const
return Extrapolator table
Definition: L1MuDTSEU.h:73
bool isOwnWheelSEU() const
is it a own wheel Single Extrapolation Unit
Definition: L1MuDTSEU.h:88
L1MuDTERS * m_ERS
Definition: L1MuDTSEU.h:107
const L1MuDTTrackSegPhi * m_startTS
Definition: L1MuDTSEU.h:105
int numberOfExt() const
return number of successful extrapolations
Definition: L1MuDTSEU.cc:189
virtual ~L1MuDTSEU()
destructor
Definition: L1MuDTSEU.cc:71
const std::vector< L1MuDTEUX * > & eux() const
return pointer to an Extrapolator
Definition: L1MuDTSEU.h:94
unsigned int tsId() const
return start track segment identifier (relative address)
Definition: L1MuDTSEU.h:85