CMS 3D CMS Logo

Static Public Member Functions | Static Private Attributes

RPCTBMuon::FSBOut Class Reference

#include <RPCTBMuon.h>

List of all members.

Static Public Member Functions

static void fromBits (RPCTBMuon &muon, unsigned int value)
static unsigned int toBits (const RPCTBMuon &muon)

Static Private Attributes

static const int m_etaBitsCnt = 6
static const unsigned int m_etaBitsMask = 0x3f
static const int m_phiBitsCnt = 8
static const unsigned int m_phiBitsMask = 0xff
static const int m_ptBitsCnt = 5
static const unsigned int m_ptBitsMask = 0x1f
static const int m_qualBitsCnt = 3
static const unsigned int m_qualBitsMask = 0x7
static const int m_signBitsCnt = 1
static const unsigned int m_signBitsMask = 0x1

Detailed Description

Definition at line 191 of file RPCTBMuon.h.


Member Function Documentation

void RPCTBMuon::FSBOut::fromBits ( RPCTBMuon muon,
unsigned int  value 
) [static]

Definition at line 351 of file RPCTBMuon.cc.

References RPCTBMuon::m_EtaAddress, RPCTBMuon::m_PhiAddress, RPCMuon::m_PtCode, RPCMuon::m_Quality, RPCMuon::m_Sign, and edm::shift.

Referenced by RPCTBMuon::fromBits().

                                                                  {
  unsigned int shift = 0;
  muon.m_PhiAddress =  value &  m_phiBitsMask;                     shift += m_phiBitsCnt;
  muon.m_PtCode     = (value & (m_ptBitsMask<<shift))   >> shift;  shift += m_ptBitsCnt;
  muon.m_Quality    = (value & (m_qualBitsMask<<shift)) >> shift;  shift += m_qualBitsCnt;
  
  //+1 beacouse H/F bits, unused in RPC:
  muon.m_EtaAddress = (value & (m_etaBitsMask<<shift))  >> shift;  shift += m_etaBitsCnt + 1; 
  muon.m_Sign       = (value & (m_signBitsMask<<shift)) >> shift;  shift += m_signBitsCnt; 
  
  muon.m_PtCode = (~(muon.m_PtCode)) & m_ptBitsMask;
  muon.m_Quality = (~(muon.m_Quality)) & m_qualBitsMask;
}
unsigned int RPCTBMuon::FSBOut::toBits ( const RPCTBMuon muon) [static]

Definition at line 332 of file RPCTBMuon.cc.

References RPCTBMuon::m_EtaAddress, RPCTBMuon::m_PhiAddress, RPCMuon::m_PtCode, RPCMuon::m_Quality, RPCMuon::m_Sign, edm::shift, and relativeConstraints::value.

Referenced by RPCTBMuon::toBits().

                                                          {
  unsigned int value = 0;
        
  unsigned int shift = 0;
  //bita are reversed, to be zero when cable not connected
  unsigned int ptCode =  (~(muon.m_PtCode)) & m_ptBitsMask; 
  unsigned int quality = (~(muon.m_Quality)) & m_qualBitsMask;

  value = value |  muon.m_PhiAddress;         shift += m_phiBitsCnt;    
  value = value | (ptCode<<shift);            shift += m_ptBitsCnt;
  value = value | (quality<<shift);           shift += m_qualBitsCnt;
  
  //+1 beacouse H/F bits, unused in RPC:
  value = value | (muon.m_EtaAddress<<shift); shift += m_etaBitsCnt + 1; 
  value = value | (muon.m_Sign<<shift);       shift += m_signBitsCnt;
  
  return value;
}

Member Data Documentation

const int RPCTBMuon::FSBOut::m_etaBitsCnt = 6 [static, private]

Definition at line 196 of file RPCTBMuon.h.

const unsigned int RPCTBMuon::FSBOut::m_etaBitsMask = 0x3f [static, private]

Definition at line 196 of file RPCTBMuon.h.

const int RPCTBMuon::FSBOut::m_phiBitsCnt = 8 [static, private]

Definition at line 193 of file RPCTBMuon.h.

const unsigned int RPCTBMuon::FSBOut::m_phiBitsMask = 0xff [static, private]

Definition at line 193 of file RPCTBMuon.h.

const int RPCTBMuon::FSBOut::m_ptBitsCnt = 5 [static, private]

Definition at line 194 of file RPCTBMuon.h.

const unsigned int RPCTBMuon::FSBOut::m_ptBitsMask = 0x1f [static, private]

Definition at line 194 of file RPCTBMuon.h.

const int RPCTBMuon::FSBOut::m_qualBitsCnt = 3 [static, private]

Definition at line 195 of file RPCTBMuon.h.

const unsigned int RPCTBMuon::FSBOut::m_qualBitsMask = 0x7 [static, private]

Definition at line 195 of file RPCTBMuon.h.

const int RPCTBMuon::FSBOut::m_signBitsCnt = 1 [static, private]

Definition at line 197 of file RPCTBMuon.h.

const unsigned int RPCTBMuon::FSBOut::m_signBitsMask = 0x1 [static, private]

Definition at line 197 of file RPCTBMuon.h.