CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1MuDTExtrapolationUnit.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
21 //
22 //--------------------------------------------------
23 #ifndef L1MUDT_EXTRAPOLATION_UNIT_H
24 #define L1MUDT_EXTRAPOLATION_UNIT_H
25 
26 //---------------
27 // C++ Headers --
28 //---------------
29 
30 #include <utility>
31 #include <map>
32 #include <bitset>
33 
34 //----------------------
35 // Base Class Headers --
36 //----------------------
37 
39 
40 //------------------------------------
41 // Collaborating Class Declarations --
42 //------------------------------------
43 
47 class L1MuDTSEU;
48 class L1MuDTTFParameters;
49 
50 // ---------------------
51 // -- Class Interface --
52 // ---------------------
53 
55 
56  public:
57 
58  typedef std::pair<Extrapolation, unsigned int> SEUId;
59  typedef std::map<SEUId, L1MuDTSEU*, std::less<SEUId> > SEUmap;
60 
63 
65  virtual ~L1MuDTExtrapolationUnit();
66 
68  virtual void run(const edm::EventSetup& c);
69 
71  virtual void reset();
72 
74  void reset(Extrapolation ext, unsigned int startAdr, unsigned int relAdr );
75 
77  unsigned short int getAddress(Extrapolation ext, unsigned int startAdr, int id) const;
78 
80  unsigned short int getQuality(Extrapolation ext, unsigned int startAdr, int id) const;
81 
83  const std::bitset<12>& getEXTable(Extrapolation ext, unsigned int startAdr) const;
84 
86  const std::bitset<12>& getQSTable(Extrapolation ext, unsigned int startAdr) const;
87 
89  int numberOfExt() const;
90 
92  void print(int level=0) const;
93 
95  static std::pair<int,int> which_ext(Extrapolation ext);
96 
97  private:
98 
99  const L1MuDTSectorProcessor& m_sp; // reference to Sector Processor
100 
101  mutable SEUmap m_SEUs; // Single Extrapolation Units
102 
104 
105 };
106 
107 #endif
const std::bitset< 12 > & getEXTable(Extrapolation ext, unsigned int startAdr) const
get Extrapolator table for a given SEU
std::pair< Extrapolation, unsigned int > SEUId
virtual void reset()
reset Extrapolation Unit
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
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
virtual ~L1MuDTExtrapolationUnit()
destructor
tuple level
Definition: testEve_cfg.py:34
std::map< SEUId, L1MuDTSEU *, std::less< SEUId > > SEUmap