CMS 3D CMS Logo

L1MuDTExtrapolationUnit.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
19 //
20 //--------------------------------------------------
21 #ifndef L1MUDT_EXTRAPOLATION_UNIT_H
22 #define L1MUDT_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 
37 
38 //------------------------------------
39 // Collaborating Class Declarations --
40 //------------------------------------
41 
45 class L1MuDTSEU;
46 class L1MuDTTFParameters;
47 
48 // ---------------------
49 // -- Class Interface --
50 // ---------------------
51 
53 
54  public:
55 
56  typedef std::pair<Extrapolation, unsigned int> SEUId;
57  typedef std::map<SEUId, L1MuDTSEU*, std::less<SEUId> > SEUmap;
58 
61 
63  ~L1MuDTExtrapolationUnit() override;
64 
66  void run(const edm::EventSetup& c) override;
67 
69  void reset() override;
70 
72  void reset(Extrapolation ext, unsigned int startAdr, unsigned int relAdr );
73 
75  unsigned short int getAddress(Extrapolation ext, unsigned int startAdr, int id) const;
76 
78  unsigned short int getQuality(Extrapolation ext, unsigned int startAdr, int id) const;
79 
81  const std::bitset<12>& getEXTable(Extrapolation ext, unsigned int startAdr) const;
82 
84  const std::bitset<12>& getQSTable(Extrapolation ext, unsigned int startAdr) const;
85 
87  int numberOfExt() const;
88 
90  void print(int level=0) const;
91 
93  static std::pair<int,int> which_ext(Extrapolation ext);
94 
95  private:
96 
97  const L1MuDTSectorProcessor& m_sp; // reference to Sector Processor
98 
99  mutable SEUmap m_SEUs; // Single Extrapolation Units
100 
102 
103 };
104 
105 #endif
const std::bitset< 12 > & getEXTable(Extrapolation ext, unsigned int startAdr) const
get Extrapolator table for a given SEU
void reset() override
reset Extrapolation Unit
std::pair< Extrapolation, unsigned int > SEUId
unsigned short int getQuality(Extrapolation ext, unsigned int startAdr, int id) const
get extrapolation quality from a given ERS
void print(int level=0) const
print all successful extrapolations
const std::bitset< 12 > & getQSTable(Extrapolation ext, unsigned int startAdr) const
get Quality Sorter table for a given SEU
const L1MuDTSectorProcessor & m_sp
L1MuDTExtrapolationUnit(const L1MuDTSectorProcessor &)
constructor
virtual void run()
run processor logic
unsigned short int getAddress(Extrapolation ext, unsigned int startAdr, int id) const
get extrapolation address from a given ERS
Extrapolation
~L1MuDTExtrapolationUnit() override
destructor
static std::pair< int, int > which_ext(Extrapolation ext)
return station of start and target track segment for a given extrapolation
edm::ESHandle< L1MuDTTFParameters > pars
int numberOfExt() const
return number of successful extrapolations
std::map< SEUId, L1MuDTSEU *, std::less< SEUId > > SEUmap
Definition: memstream.h:15