#include <TrigSAF.h>
Public Member Functions | |
int | getDataGroup1One (int index) const |
int | getDataGroup1One (int index) const |
int | getDataGroup1Zero (int index) const |
int | getDataGroup1Zero (int index) const |
int | getDataGroup2One (int index) const |
int | getDataGroup2One (int index) const |
int | getDataGroup2Zero (int index) const |
int | getDataGroup2Zero (int index) const |
int | getDataGroup3 (int index) const |
int | getDataGroup3 (int index) const |
int | getDataGroup4 (int index) const |
int | getDataGroup4 (int index) const |
const std::string & | getName () const |
const std::string & | getName () const |
void | initialize () |
void | initialize () |
void | setSAFTrigData (uint32_t boardId, uint32_t window, uint32_t datasize, const uint32_t *data) |
void | setSAFTrigData (uint32_t boardId, uint32_t window, uint32_t datasize, const uint32_t *data) |
TrigSAF (char *name) | |
TrigSAF (char *name) | |
virtual | ~TrigSAF () |
virtual | ~TrigSAF () |
Private Attributes | |
int | m_dataGroup1_One [48] |
int | m_dataGroup1_Zero [48] |
int | m_dataGroup2_One [48] |
int | m_dataGroup2_Zero [48] |
int | m_dataGroup3 [48] |
int | m_dataGroup4 [48] |
std::string | m_name |
|
00005 { 00006 m_name = name; 00007 }
|
|
00011 {}
|
|
|
|
00011 {}
|
|
00019 { return m_dataGroup1_One[index]; }
|
|
00019 { return m_dataGroup1_One[index]; }
|
|
00020 { return m_dataGroup1_Zero[index]; }
|
|
00020 { return m_dataGroup1_Zero[index]; }
|
|
00022 { return m_dataGroup2_One[index]; }
|
|
00022 { return m_dataGroup2_One[index]; }
|
|
00023 { return m_dataGroup2_Zero[index]; }
|
|
00023 { return m_dataGroup2_Zero[index]; }
|
|
00025 { return m_dataGroup3[index]; }
|
|
00025 { return m_dataGroup3[index]; }
|
|
00026 { return m_dataGroup4[index]; }
|
|
00026 { return m_dataGroup4[index]; }
|
|
00017 { return m_name; }
|
|
00017 { return m_name; }
|
|
|
|
00010 { 00011 for(int i = 0; i < 48; i++) 00012 { 00013 m_dataGroup1_One[i] = 0; 00014 m_dataGroup1_Zero[i] = 0; 00015 m_dataGroup2_One[i] = 0; 00016 m_dataGroup2_Zero[i] = 0; 00017 m_dataGroup3[i] = 0; 00018 m_dataGroup4[i] = 0; 00019 } 00020 }
|
|
|
|
00022 { 00023 00024 if((boardId != 0xd2)&&(boardId != 0xd4)&&(boardId != 0xd6)) std::cerr << "ERROR: You set the wrong board data to TrigSAF!!!" << std::endl; 00025 00026 uint32_t jBegin = 0, jEnd = 0; 00027 if(boardId == 0xd2) { jBegin = 32; jEnd = jBegin+16; } //SAF1 00028 if(boardId == 0xd4) { jBegin = 16; jEnd = jBegin+16; } //SAF2 00029 if(boardId == 0xd6) { jBegin = 0; jEnd = jBegin+16; } //SAF3 00030 00031 for(uint32_t i = 0; i < datasize; i++) { 00032 uint32_t dataId = ((data[i] >> 16) & 0xFF); 00033 for(uint32_t j = jBegin, mask = 1; j < jEnd; j++, mask <<= 1) { 00034 if(dataId == 1) { 00035 if((data[i] & mask) != 0) { 00036 m_dataGroup1_One[j] += 1; 00037 } 00038 if(m_dataGroup1_One[j] == 0) m_dataGroup1_Zero[j] += 1; 00039 } 00040 if(dataId == 2) { 00041 if((data[i] & mask) != 0) { 00042 m_dataGroup2_One[j] += 1; 00043 } 00044 if(m_dataGroup2_One[j] == 0) m_dataGroup2_Zero[j] += 1; 00045 } 00046 if(dataId == 3) { 00047 if((data[i] & mask) != 0) { 00048 m_dataGroup3[j] = 1; 00049 } 00050 } 00051 if(dataId == 4) { 00052 if((data[i] & mask) != 0) { 00053 m_dataGroup4[j] = 1; 00054 } 00055 } 00056 } 00057 } 00058 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|