CMS 3D CMS Logo

L1MuBMExtrapolationUnit.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
19 //
20 //--------------------------------------------------
21 #ifndef L1MUBM_EXTRAPOLATION_UNIT_H
22 #define L1MUBM_EXTRAPOLATION_UNIT_H
23 
24 //---------------
25 // C++ Headers --
26 //---------------
27 
28 #include <utility>
29 #include <map>
30 #include <bitset>
31 
32 //----------------------
33 // Base Class Headers --
34 //----------------------
35 
36 //------------------------------------
37 // Collaborating Class Declarations --
38 //------------------------------------
39 
46 class L1MuBMSEU;
47 class L1MuDTTFParameters;
48 
49 // ---------------------
50 // -- Class Interface --
51 // ---------------------
52 
54 public:
55  typedef std::pair<Extrapolation, unsigned int> SEUId;
56  typedef std::map<SEUId, L1MuBMSEU*, std::less<SEUId> > SEUmap;
57 
60 
63 
65  void run(const edm::EventSetup& c);
66 
68  void reset();
69 
71  void reset(Extrapolation ext, unsigned int startAdr, unsigned int relAdr);
72 
74  unsigned short int getAddress(Extrapolation ext, unsigned int startAdr, int id) const;
75 
77  unsigned short int getQuality(Extrapolation ext, unsigned int startAdr, int id) const;
78 
80  const std::bitset<12>& getEXTable(Extrapolation ext, unsigned int startAdr) const;
81 
83  const std::bitset<12>& getQSTable(Extrapolation ext, unsigned int startAdr) const;
84 
86  int numberOfExt() const;
87 
89  void print(int level = 0) const;
90 
92  static std::pair<int, int> which_ext(Extrapolation ext);
93 
94 private:
95  const L1MuBMSectorProcessor& m_sp; // reference to Sector Processor
96 
97  mutable SEUmap m_SEUs; // Single Extrapolation Units
98 
101 };
102 
103 #endif
edm::ESGetToken< L1TMuonBarrelParams, L1TMuonBarrelParamsRcd > m_paramsToken
static std::pair< int, int > which_ext(Extrapolation ext)
return station of start and target track segment for a given extrapolation
unsigned short int getAddress(Extrapolation ext, unsigned int startAdr, int id) const
get extrapolation address from a given ERS
unsigned short int getQuality(Extrapolation ext, unsigned int startAdr, int id) const
get extrapolation quality from a given ERS
void reset()
reset Extrapolation Unit
const L1MuBMSectorProcessor & m_sp
Extrapolation
std::pair< Extrapolation, unsigned int > SEUId
const std::bitset< 12 > & getQSTable(Extrapolation ext, unsigned int startAdr) const
get Quality Sorter table for a given SEU
int numberOfExt() const
return number of successful extrapolations
std::map< SEUId, L1MuBMSEU *, std::less< SEUId > > SEUmap
L1MuBMExtrapolationUnit(const L1MuBMSectorProcessor &, edm::ConsumesCollector iC)
constructor
void print(int level=0) const
print all successful extrapolations
Definition: memstream.h:15
void run(const edm::EventSetup &c)
run Extrapolation Unit
const std::bitset< 12 > & getEXTable(Extrapolation ext, unsigned int startAdr) const
get Extrapolator table for a given SEU