#include <TrigCondition.h>
Public Member Functions | |
const std::vector< uint32_t > & | getCondList () const |
const std::vector< uint32_t > & | getCondList () const |
const std::string & | getName () const |
const std::string & | getName () const |
uint32_t | getNumOne (int index) const |
uint32_t | getNumOne (int index) const |
uint32_t | getNumZero (int index) const |
uint32_t | getNumZero (int index) const |
void | print () const |
void | print () const |
TrigCondition (char *name, uint32_t window, const uint32_t *data) | |
TrigCondition (char *name, uint32_t window, const uint32_t *data) | |
virtual | ~TrigCondition () |
virtual | ~TrigCondition () |
Private Attributes | |
std::vector< uint32_t > | m_condList |
std::vector< uint32_t > | m_condList |
std::string | m_name |
uint32_t | m_num_One [48] |
uint32_t | m_num_Zero [48] |
Static Private Attributes | |
const std::string | s_CONDITIONS [48] |
|
00055 : 00056 m_name(name) 00057 { 00058 for (uint32_t group = 0; group < 2; group++) { 00059 uint32_t iBegin = group * 24; 00060 uint32_t iEnd = (group + 1) * 24; 00061 uint32_t jBegin = group * window; 00062 uint32_t jEnd = (group + 1) * window; 00063 for (uint32_t i = iBegin, mask = 1; i < iEnd; i++, mask <<= 1) { 00064 uint32_t num_One = 0, num_Zero = 0; 00065 for (uint32_t j = jBegin; j < jEnd; j++) { 00066 if ((data[j] & mask) != 0) { 00067 num_One++; 00068 } 00069 else { 00070 if (num_One == 0) num_Zero++; 00071 } 00072 } 00073 m_num_One[i] = num_One; 00074 m_num_Zero[i] = num_Zero; 00075 } 00076 } 00077 00078 for (uint32_t i = 0; i < 48; i++) { 00079 if (m_num_One[i] != 0) m_condList.push_back(i); 00080 } 00081 }
|
|
00011 {}
|
|
|
|
00011 {}
|
|
00014 { return m_condList; }
|
|
00014 { return m_condList; }
|
|
00013 { return m_name; }
|
|
00013 { return m_name; }
|
|
00015 { return m_num_One[index]; }
|
|
00015 { return m_num_One[index]; }
|
|
00016 { return m_num_Zero[index]; }
|
|
00016 { return m_num_Zero[index]; }
|
|
|
|
00083 { 00084 int size = m_condList.size(); 00085 std::cout << "TrigCondition-" << m_name << " contains the following conditions:" << std::endl; 00086 for (int i = 0; i < size; i++) { 00087 std::cout << '\t' << s_CONDITIONS[m_condList[i]] << std::endl; 00088 } 00089 }
|
|
|
|
|
|
|
|
|
|
|
|
|