CMS 3D CMS Logo

L1MuDTAssignmentUnit.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
16 //
17 //--------------------------------------------------
18 #ifndef L1MUDT_ASSIGNMENT_UNIT_H
19 #define L1MUDT_ASSIGNMENT_UNIT_H
20 
21 //---------------
22 // C++ Headers --
23 //---------------
24 
25 #include <vector>
26 #include <iosfwd>
27 
28 //----------------------
29 // Base Class Headers --
30 //----------------------
31 
33 
34 //------------------------------------
35 // Collaborating Class Declarations --
36 //------------------------------------
37 
41 class L1MuDTPhiLut;
42 class L1MuDTPtaLut;
43 class L1MuDTTrackSegPhi;
45 
46 // ---------------------
47 // -- Class Interface --
48 // ---------------------
49 
51 
52  public:
53 
56 
58  ~L1MuDTAssignmentUnit() override;
59 
61  void run(const edm::EventSetup& c) override;
62 
64  void reset() override;
65 
67  void PhiAU(const edm::EventSetup& c);
68 
70  void PtAU(const edm::EventSetup& c);
71 
73  void QuaAU();
74 
76  void setPrecision();
77 
78  private:
79 
81  void TSR();
82 
84  const L1MuDTTrackSegPhi* getTSphi(int station) const;
85 
87  int convertSector(int);
88 
91 
93  PtAssMethod getPtMethod() const;
94 
96  int getPtAddress(PtAssMethod, int bendcharge=0) const;
97 
99  int phiDiff(int stat1, int stat2) const;
100 
101  private:
102 
104  int m_id;
105 
107  std::vector<const L1MuDTTrackSegPhi*> m_TSphi;
109 
112  unsigned short nbit_phi;
113  unsigned short nbit_phib;
114 
115 };
116 
117 #endif
void PtAU(const edm::EventSetup &c)
assign pt and charge
edm::ESHandle< L1MuDTPhiLut > thePhiLUTs
phi-assignment look-up tables
void QuaAU()
assign quality
unsigned short nbit_phib
of bits used for pt-assignment
edm::ESHandle< L1MuDTPtaLut > thePtaLUTs
pt-assignment look-up tables
~L1MuDTAssignmentUnit() override
destructor
int getCharge(PtAssMethod)
determine charge
L1MuDTAddressArray m_addArray
L1MuDTSectorProcessor & m_sp
std::vector< const L1MuDTTrackSegPhi * > m_TSphi
unsigned short nbit_phi
of bits used for pt-assignment
void TSR()
Track Segment Router.
const L1MuDTTrackSegPhi * getTSphi(int station) const
get track segment from a given station
virtual void run()
run processor logic
int phiDiff(int stat1, int stat2) const
build difference of two phi values
void reset() override
reset Assignment Unit
int convertSector(int)
convert sector Id to 8 bit code (= sector center)
void PhiAU(const edm::EventSetup &c)
assign phi
void setPrecision()
set precision of phi and phib
int getPtAddress(PtAssMethod, int bendcharge=0) const
calculate bend angle
PtAssMethod getPtMethod() const
determine pt assignment method
L1MuDTAssignmentUnit(L1MuDTSectorProcessor &sp, int id)
constructor
PtAssMethod