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 
32 //------------------------------------
33 // Collaborating Class Declarations --
34 //------------------------------------
35 
42 class L1MuDTPhiLut;
43 class L1MuDTPtaLut;
44 class L1MuDTPhiLutRcd;
45 class L1MuDTPtaLutRcd;
46 class L1MuDTTrackSegPhi;
48 
49 // ---------------------
50 // -- Class Interface --
51 // ---------------------
52 
54 public:
57 
60 
62  void run(const edm::EventSetup& c);
63 
65  void reset();
66 
68  void PhiAU(const edm::EventSetup& c);
69 
71  void PtAU(const edm::EventSetup& c);
72 
74  void QuaAU();
75 
77  void setPrecision();
78 
79 private:
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:
103  int m_id;
104 
106  std::vector<const L1MuDTTrackSegPhi*> m_TSphi;
108 
113  unsigned short nbit_phi;
114  unsigned short nbit_phib;
115 };
116 
117 #endif
void PtAU(const edm::EventSetup &c)
assign pt and charge
void QuaAU()
assign quality
unsigned short nbit_phib
of bits used for pt-assignment
edm::ESGetToken< L1MuDTPtaLut, L1MuDTPtaLutRcd > thePtaToken
int getCharge(PtAssMethod)
determine charge
const L1MuDTTrackSegPhi * getTSphi(int station) const
get track segment from a given station
L1MuDTAddressArray m_addArray
void run(const edm::EventSetup &c)
run Assignment Unit
edm::ESHandle< L1MuDTPtaLut > thePtaLUTs
pt-assignment look-up tables
L1MuDTSectorProcessor & m_sp
std::vector< const L1MuDTTrackSegPhi * > m_TSphi
PtAssMethod getPtMethod() const
determine pt assignment method
void reset()
reset Assignment Unit
unsigned short nbit_phi
of bits used for pt-assignment
int phiDiff(int stat1, int stat2) const
build difference of two phi values
~L1MuDTAssignmentUnit()
destructor
void TSR()
Track Segment Router.
int getPtAddress(PtAssMethod, int bendcharge=0) const
calculate bend angle
L1MuDTAssignmentUnit(L1MuDTSectorProcessor &sp, int id, edm::ConsumesCollector)
constructor
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
edm::ESGetToken< L1MuDTPhiLut, L1MuDTPhiLutRcd > thePhiToken
edm::ESHandle< L1MuDTPhiLut > thePhiLUTs
phi-assignment look-up tables
PtAssMethod