#include <TrigCondition.h>
Public Member Functions | |
TrigCondition (char *name, uint32_t window, const uint32_t *data) | |
virtual | ~TrigCondition () |
const std::string & | getName () const |
const std::vector< uint32_t > & | getCondList () const |
uint32_t | getNumOne (int index) const |
uint32_t | getNumZero (int index) const |
void | print () const |
Private Attributes | |
std::string | m_name |
std::vector< uint32_t > | m_condList |
uint32_t | m_num_One [48] |
uint32_t | m_num_Zero [48] |
Static Private Attributes | |
static const std::string | s_CONDITIONS [48] |
Definition at line 8 of file TrigCondition.h.
TrigCondition::TrigCondition | ( | char * | name, | |
uint32_t | window, | |||
const uint32_t * | data | |||
) |
Definition at line 55 of file TrigCondition.cxx.
References genRecEmupikp::i, ganga-rec::j, m_condList, m_num_One, and m_num_Zero.
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 }
virtual TrigCondition::~TrigCondition | ( | ) | [inline, virtual] |
const std::vector<uint32_t>& TrigCondition::getCondList | ( | ) | const [inline] |
const std::string& TrigCondition::getName | ( | ) | const [inline] |
uint32_t TrigCondition::getNumOne | ( | int | index | ) | const [inline] |
Definition at line 15 of file TrigCondition.h.
References m_num_One.
00015 { return m_num_One[index]; }
uint32_t TrigCondition::getNumZero | ( | int | index | ) | const [inline] |
Definition at line 16 of file TrigCondition.h.
References m_num_Zero.
00016 { return m_num_Zero[index]; }
void TrigCondition::print | ( | ) | const |
Definition at line 83 of file TrigCondition.cxx.
References genRecEmupikp::i, m_condList, m_name, s_CONDITIONS, and delete_small_size::size.
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 }
std::vector<uint32_t> TrigCondition::m_condList [private] |
Definition at line 22 of file TrigCondition.h.
Referenced by getCondList(), print(), and TrigCondition().
std::string TrigCondition::m_name [private] |
uint32_t TrigCondition::m_num_One[48] [private] |
uint32_t TrigCondition::m_num_Zero[48] [private] |
const std::string TrigCondition::s_CONDITIONS [static, private] |