CMS 3D CMS Logo

L1MuBMAssignmentUnit.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
16 //
17 //--------------------------------------------------
18 #ifndef L1MUBM_ASSIGNMENT_UNIT_H
19 #define L1MUBM_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 //------------------------------------
38 
42 
43 class L1MuBMTrackSegPhi;
45 class L1MuBMLUTHandler;
46 // ---------------------
47 // -- Class Interface --
48 // ---------------------
49 
51 public:
54 
57 
59  void run(const L1TMuonBarrelParams& mbtfParams);
60 
62  void reset();
63 
65  void PhiAU(const L1TMuonBarrelParams&);
66 
68  void PtAU(const L1TMuonBarrelParams&);
69 
71  void QuaAU();
72  unsigned int Quality();
73 
75  void setPrecision();
76 
77 private:
79  void TSR();
80 
82  const L1MuBMTrackSegPhi* getTSphi(int station) const;
83 
85  static int convertSector(int);
86 
89 
94 
96  int getPtAddress(L1MuBMLUTHandler::PtAssMethod, int bendcharge = 0) const;
99 
101  int phiDiff(int stat1, int stat2) const;
102 
103 private:
105  int m_id;
106 
108  std::vector<const L1MuBMTrackSegPhi*> m_TSphi;
110 
113  unsigned short nbit_phi = 12;
114  unsigned short nbit_phib = 10;
115 };
116 
117 #endif
L1MuBMAssignmentUnit(L1MuBMSectorProcessor &sp, int id)
constructor
void QuaAU()
assign quality
unsigned short nbit_phib
of bits used for pt-assignment
const L1MuBMTrackSegPhi * getTSphi(int station) const
get track segment from a given station
L1MuBMLUTHandler * thePtaLUTs
pt-assignment look-up tables
void TSR()
Track Segment Router.
std::vector< const L1MuBMTrackSegPhi * > m_TSphi
int getPt2Address(L1MuBMLUTHandler::PtAssMethod) const
static int convertSector(int)
convert sector Id to 8 bit code (= sector center)
L1MuBMLUTHandler * thePhiLUTs
phi-assignment look-up tables
void setPrecision()
set precision of phi and phib
L1MuBMLUTHandler::PtAssMethod getPtMethod() const
determine pt assignment method
~L1MuBMAssignmentUnit()
destructor
L1MuBMLUTHandler::PtAssMethod getPt2Method(L1MuBMLUTHandler::PtAssMethod) const
int getPt1Address(L1MuBMLUTHandler::PtAssMethod) const
int phiDiff(int stat1, int stat2) const
build difference of two phi values
void PtAU(const L1TMuonBarrelParams &)
assign pt and charge
unsigned short nbit_phi
of bits used for pt-assignment
void PhiAU(const L1TMuonBarrelParams &)
assign phi
void run(const L1TMuonBarrelParams &mbtfParams)
run Assignment Unit
L1MuBMLUTHandler::PtAssMethod getPt1Method(L1MuBMLUTHandler::PtAssMethod) const
L1MuBMAddressArray m_addArray
void reset()
reset Assignment Unit
static int getCharge(L1MuBMLUTHandler::PtAssMethod)
determine charge
int getPtAddress(L1MuBMLUTHandler::PtAssMethod, int bendcharge=0) const
calculate bend angle
L1MuBMSectorProcessor & m_sp
L1MuBMLUTHandler::PtAssMethod m_ptAssMethod