| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Electronics.cc

Go to the documentation of this file.
00001 #include "Conventions/Electronics.h"
00002 
00003 DayaBay::ElecChannelId::ElecChannelId(int board, int connector,
00004                                   Site::Site_t site,
00005                                   DetectorId::DetectorId_t det)
00006   : Detector(site,det)
00007 {
00008   m_data += (0x000000ff & connector) | (0x000000ff & board)<<8;
00009 }
00010 
00011 
00012 DayaBay::ElecChannelId::~ElecChannelId() {}
00013 
00014 
00015 int DayaBay::ElecChannelId::board() const
00016 {
00017   return (m_data & 0x0000ff00)>>8;
00018 }
00019 
00020 int DayaBay::ElecChannelId::connector() const
00021 {
00022   return (m_data & 0x000000ff);
00023 }
00024 
00025 DayaBay::FeeChannelId::~FeeChannelId() 
00026 {
00027 }
00028 
00029 DayaBay::FeeChannelId DayaBay::FeeChannelId::boardId() const
00030 {
00031   return DayaBay::FeeChannelId(m_data & 0xffffff00);
00032 }
00033 
00034 DayaBay::FadcChannelId::~FadcChannelId() 
00035 {
00036 }
00037 
00038 DayaBay::FadcChannelId DayaBay::FadcChannelId::boardId() const
00039 {
00040   return DayaBay::FeeChannelId(m_data & 0xffffff00);
00041 }
00042 
00043 int  DayaBay::FadcChannelId::outputId() const
00044 {
00045     if (connector()>16) return 0;
00046     int board = m_data & 0xffffff00;
00047     int connector = m_data & 0x000000ff;
00048     return ( board | ( 16 + (connector+1)/2) );
00049 }
00050 
00051 int  DayaBay::FadcChannelId::firstInputId() const
00052 {
00053     if (connector()<=16) return 0;
00054     int board = m_data & 0xffffff00;
00055     int connector = m_data & 0x000000ff;
00056     return ( board | ((connector-16)*2-1) );
00057 }
00058 
00059 int  DayaBay::FadcChannelId::secondInputId() const
00060 {
00061     if (connector()<=16) return 0;
00062     int board = m_data & 0xffffff00;
00063     int connector = m_data & 0x000000ff;
00064     return ( board | ((connector-16)*2) );
00065 }
00066 
00067 DayaBay::FecChannelId::~FecChannelId() 
00068 {
00069 }
00070 
00071 DayaBay::FecChannelId DayaBay::FecChannelId::boardId() const
00072 {
00073   return DayaBay::FecChannelId(m_data & 0xffffff00);
00074 }
00075 
00076 std::ostream& DayaBay::operator<<(std::ostream& str, 
00077                                   const DayaBay::ElecChannelId& elecChannelId)
00078 {
00079     return str << Site::AsString(elecChannelId.site())
00080                << DetectorId::AsString(elecChannelId.detectorId())
00081                << "("<<elecChannelId.board()
00082                <<","<<elecChannelId.connector()<<")";
00083 }
00084 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:14:47 2011 for Conventions by doxygen 1.4.7