CMS 3D CMS Logo

HOTPDigiTwinMux.cc
Go to the documentation of this file.
2 #include <cstdio>
3 #include <iostream>
4 
5 using namespace std;
6 
8  int ieta, int iphi, int bx, int mip, int validbit, int wheel, int sector, int index, int link) {
9  if ((ieta > 15) || (ieta < -15))
10  printf("HOTwinMuxDigi: ieta out of range");
11  if ((mip < 0) || (mip > 1))
12  printf("HOTwinMuxDigi: mip value out of range");
13 
14  theTP_HO = (std::abs(ieta) & 0xF) | ((ieta < 0) ? (0x10) : (0x00)) | ((iphi & 0x7F) << 5) |
15  ((std::abs(bx) & 0x1) << 12) | ((bx < 0) ? (0x2000) : (0x00)) | ((mip & 0x1) << 14) |
16  ((validbit & 0x1) << 15) | ((std::abs(wheel) & 0x3) << 16) | ((wheel < 0) ? (0x40000) : (0x00)) |
17  ((sector & 0xF) << 19) | ((index & 0x1F) << 23) | ((link & 0x3) << 28);
18 }
19 
20 std::ostream& operator<<(std::ostream& s, const HOTPDigiTwinMux& HOtp) {
21  s << "HO TP digi in TwinMUX " << HOtp.ieta() << ", " << HOtp.iphi() << ", " << HOtp.mip();
22  s << "(wh, sec, index, link)" << HOtp.wheel() << ", " << HOtp.sector() << ", " << HOtp.index() << ", " << HOtp.link();
23  s << "validbit is : " << HOtp.validbit();
24  return s;
25 }
int link() const
get the link value
HOTPDigiTwinMux()
For the sorted collection.
int ieta() const
get the signed ieta value
int index() const
get the index
int sector() const
get the sector value
int wheel() const
get the signed wheel value
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int mip() const
get the mip value
std::ostream & operator<<(std::ostream &out, const std::tuple< Types... > &value)
Definition: Utilities.h:32
int validbit() const
get the valid bit
int iphi() const
get the raw iphi value