CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1MuDTAssignmentUnit.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
18 //
19 //--------------------------------------------------
20 #ifndef L1MUDT_ASSIGNMENT_UNIT_H
21 #define L1MUDT_ASSIGNMENT_UNIT_H
22 
23 //---------------
24 // C++ Headers --
25 //---------------
26 
27 #include <vector>
28 #include <iosfwd>
29 
30 //----------------------
31 // Base Class Headers --
32 //----------------------
33 
35 
36 //------------------------------------
37 // Collaborating Class Declarations --
38 //------------------------------------
39 
43 class L1MuDTPhiLut;
44 class L1MuDTPtaLut;
45 class L1MuDTTrackSegPhi;
47 
48 // ---------------------
49 // -- Class Interface --
50 // ---------------------
51 
53 
54  public:
55 
58 
60  virtual ~L1MuDTAssignmentUnit();
61 
63  virtual void run(const edm::EventSetup& c);
64 
66  virtual void reset();
67 
69  void PhiAU(const edm::EventSetup& c);
70 
72  void PtAU(const edm::EventSetup& c);
73 
75  void QuaAU();
76 
78  static void setPrecision();
79 
80  private:
81 
83  void TSR();
84 
86  const L1MuDTTrackSegPhi* getTSphi(int station) const;
87 
89  static int convertSector(int);
90 
92  static int getCharge(PtAssMethod);
93 
95  PtAssMethod getPtMethod() const;
96 
98  int getPtAddress(PtAssMethod, int bendcharge=0) const;
99 
101  int phiDiff(int stat1, int stat2) const;
102 
103  private:
104 
106  int m_id;
107 
109  std::vector<const L1MuDTTrackSegPhi*> m_TSphi;
111 
114  static unsigned short nbit_phi;
115  static unsigned short nbit_phib;
116 
117 };
118 
119 #endif
void PtAU(const edm::EventSetup &c)
assign pt and charge
edm::ESHandle< L1MuDTPhiLut > thePhiLUTs
phi-assignment look-up tables
void QuaAU()
assign quality
edm::ESHandle< L1MuDTPtaLut > thePtaLUTs
pt-assignment look-up tables
static int getCharge(PtAssMethod)
determine charge
L1MuDTAddressArray m_addArray
L1MuDTSectorProcessor & m_sp
std::vector< const L1MuDTTrackSegPhi * > m_TSphi
static unsigned short nbit_phib
of bits used for pt-assignment
virtual void reset()
reset Assignment Unit
virtual ~L1MuDTAssignmentUnit()
destructor
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
static int convertSector(int)
convert sector Id to 8 bit code (= sector center)
void PhiAU(const edm::EventSetup &c)
assign phi
static 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
static unsigned short nbit_phi
of bits used for pt-assignment
PtAssMethod