CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1MuGMTDebugBlock.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
3 // \class L1MuGMTDebugBlock
11 //
12 // $Date: 2007/04/02 15:45:38 $
13 // $Revision: 1.4 $
14 //
15 // Author :
16 // H. Sakulin HEPHY Vienna
17 //
18 // Migrated to CMSSW:
19 // I. Mikulec
20 //
21 //--------------------------------------------------
22 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTDebugBlock_h
23 #define L1TriggerGlobalMuonTrigger_L1MuGMTDebugBlock_h
24 
25 //---------------
26 // C++ Headers --
27 //---------------
28 
29 #include <vector>
30 
31 //----------------------
32 // Base Class Headers --
33 //----------------------
34 
35 
36 //------------------------------------
37 // Collaborating Class Declarations --
38 //------------------------------------
41 
43 
44 // ---------------------
45 // -- Class Interface --
46 // ---------------------
47 
49 
50  public:
51  static const int NumMatrices = 6;
52 
54  L1MuGMTDebugBlock(int minbx=-10, int maxbx=10);
55 
57  virtual ~L1MuGMTDebugBlock();
58 
60  void reset ();
61 
63  void SetBX(int bx) {
64  if (bx < _minbx || bx > _maxbx) edm::LogWarning("RangeViolation")
65  << "L1MuGMTDebugBlock::SetBX(): bx out of range ";
66  else _bx=bx;
67  };
68 
69  // index: (0..31: 16*isFWD + 8*isISO + 4* isRPC + nr )
70 
72  void SetPhi(int idx, float phi) { _prophi[_bx - _minbx][idx]=phi; };
73 
75  void SetEta(int idx, float eta) { _proeta[_bx - _minbx][idx]=eta; };
76 
78  void SetPhiSelBits(int idx, unsigned phisel) { _phisel[_bx - _minbx][idx]=phisel; };
79 
81  void SetEtaSelBits(int idx, unsigned etasel) { _etasel[_bx - _minbx][idx]=etasel; };
82 
84  void SetIsMIPISO(int idx, unsigned ismipiso) { _isMIPISO[_bx - _minbx][idx]=ismipiso; };
85 
87  void SetPairMatrix(int idx, L1MuGMTMatrix<bool> pm) { _pairMatrices[_bx - _minbx][idx]=pm; };
88 
90  void SetMQMatrix(int idx, L1MuGMTMatrix<int> mqm) { _mqMatrices[_bx - _minbx][idx]=mqm; };
91 
93  void SetCancelBits (int idx, std::vector<bool> mine, std::vector<bool> others);
94 
96  void SetBrlGMTCands (int idx, L1MuGMTExtendedCand const& cand) { _brlmuons[_bx - _minbx][idx]=cand; };
97 
99  void SetFwdGMTCands (int idx, L1MuGMTExtendedCand const& cand) { _fwdmuons[_bx - _minbx][idx]=cand; };
100 
101 
103  float Phi(int bx, int idx) { return _prophi[bx - _minbx][idx]; };
104 
106  float Eta(int bx, int idx) { return _proeta[bx - _minbx][idx]; };
107 
109  unsigned PhiSel(int bx, int idx) { return _phisel[bx - _minbx][idx]; };
110 
112  unsigned EtaSel(int bx, int idx) { return _etasel[bx - _minbx][idx]; };
113 
115  unsigned IsMIPISO(int bx, int idx) { return _isMIPISO[bx - _minbx][idx]; };
116 
118  L1MuGMTMatrix<bool> GetPairMatrix(int bx, int idx) { return _pairMatrices[bx - _minbx][idx]; };
119 
121  L1MuGMTMatrix<int> GetMQMatrix(int bx, int idx) { return _mqMatrices[bx - _minbx][idx]; };
122 
124  unsigned GetCancelBits(int bx, int idx) { return _cancelbits[bx - _minbx][idx]; };
125 
127  L1MuGMTExtendedCand const& GetBrlGMTCand(int bx, int idx) { return _brlmuons[bx - _minbx][idx];}
128 
130  L1MuGMTExtendedCand const& GetFwdGMTCand(int bx, int idx) { return _fwdmuons[bx - _minbx][idx];}
131 
133  float Phi(int bx, int isFWD, int isISO, int isRPC, int nr) {
134  return _prophi[bx - _minbx][16*isFWD + 8*isISO + 4*isRPC + nr];
135  };
136 
138  float Eta(int bx, int isFWD, int isISO, int isRPC, int nr) {
139  return _proeta[bx - _minbx][16*isFWD + 8*isISO + 4*isRPC + nr];
140  };
141 
142 
143 
144  private:
145  const int _minbx, _maxbx;
146  int _bx;
147  std::vector<std::vector<float> > _prophi;
148  std::vector<std::vector<float> > _proeta;
149  std::vector<std::vector<unsigned> > _phisel;
150  std::vector<std::vector<unsigned> > _etasel;
151  std::vector<std::vector<unsigned> > _isMIPISO;
152 
153  std::vector<std::vector<L1MuGMTMatrix<bool> > > _pairMatrices;
154  std::vector<std::vector<L1MuGMTMatrix<int> > > _mqMatrices;
155 
156  std::vector<std::vector<unsigned> > _cancelbits;
157  std::vector<std::vector<L1MuGMTExtendedCand> > _brlmuons;
158  std::vector<std::vector<L1MuGMTExtendedCand> > _fwdmuons;
159 };
160 
161 #endif
162 
163 
164 
165 
166 
167 
168 
169 
170 
std::vector< std::vector< float > > _proeta
std::vector< std::vector< L1MuGMTMatrix< bool > > > _pairMatrices
void SetBX(int bx)
Set the current bunch crossing.
std::vector< std::vector< L1MuGMTExtendedCand > > _fwdmuons
std::vector< std::vector< unsigned > > _phisel
L1MuGMTExtendedCand const & GetFwdGMTCand(int bx, int idx)
Get fwd Cands.
unsigned EtaSel(int bx, int idx)
Get stored eta select bits.
T eta() const
unsigned GetCancelBits(int bx, int idx)
Get Cancel Bits.
std::vector< std::vector< unsigned > > _cancelbits
void SetBrlGMTCands(int idx, L1MuGMTExtendedCand const &cand)
Set brl GMT Cands.
std::vector< std::vector< float > > _prophi
void SetPairMatrix(int idx, L1MuGMTMatrix< bool > pm)
Set pair matrices.
void SetCancelBits(int idx, std::vector< bool > mine, std::vector< bool > others)
Set cancel bits.
std::vector< std::vector< unsigned > > _isMIPISO
void SetEta(int idx, float eta)
Set projected eta positions for current bx.
L1MuGMTMatrix< int > GetMQMatrix(int bx, int idx)
Get match quality matrices.
void SetEtaSelBits(int idx, unsigned etasel)
Set eta select bits for current bx.
float Phi(int bx, int idx)
Get stored phi position.
unsigned IsMIPISO(int bx, int idx)
Get stored MIP/ISO select bits.
void SetMQMatrix(int idx, L1MuGMTMatrix< int > mqm)
Set match quality matrices.
void SetPhi(int idx, float phi)
Set projected phi positions for current bx.
float Eta(int bx, int isFWD, int isISO, int isRPC, int nr)
Get stored eta position, four indices.
L1MuGMTDebugBlock(int minbx=-10, int maxbx=10)
constructor
void SetPhiSelBits(int idx, unsigned phisel)
Set phi select bits for current bx.
unsigned PhiSel(int bx, int idx)
Get stored phi select bits.
std::vector< std::vector< L1MuGMTExtendedCand > > _brlmuons
virtual ~L1MuGMTDebugBlock()
destructor
void SetFwdGMTCands(int idx, L1MuGMTExtendedCand const &cand)
Set fwd GMT Cands.
std::vector< std::vector< L1MuGMTMatrix< int > > > _mqMatrices
L1MuGMTExtendedCand const & GetBrlGMTCand(int bx, int idx)
Get brl Cands.
float Phi(int bx, int isFWD, int isISO, int isRPC, int nr)
Get stored phi position, four indices.
void reset()
Reset the debug block.
void SetIsMIPISO(int idx, unsigned ismipiso)
Set MIP/ISO bits for current bx.
L1MuGMTMatrix< bool > GetPairMatrix(int bx, int idx)
Get pair matrices.
float Eta(int bx, int idx)
Get stored eta position.
std::vector< std::vector< unsigned > > _etasel
static const int NumMatrices
Definition: DDAxes.h:10