TrigCondition Class Reference

#include <TrigCondition.h>

List of all members.

Public Member Functions

 TrigCondition (char *name, uint32_t window, const uint32_t *data)
virtual ~TrigCondition ()
const std::stringgetName () 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]


Detailed Description

Definition at line 8 of file TrigCondition.h.


Constructor & Destructor Documentation

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]

Definition at line 11 of file TrigCondition.h.

00011 {}


Member Function Documentation

const std::vector<uint32_t>& TrigCondition::getCondList (  )  const [inline]

Definition at line 14 of file TrigCondition.h.

References m_condList.

00014 { return m_condList; }

const std::string& TrigCondition::getName (  )  const [inline]

Definition at line 13 of file TrigCondition.h.

References m_name.

00013 { return m_name; }

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 }


Member Data Documentation

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]

Definition at line 21 of file TrigCondition.h.

Referenced by getName(), and print().

uint32_t TrigCondition::m_num_One[48] [private]

Definition at line 24 of file TrigCondition.h.

Referenced by getNumOne(), and TrigCondition().

uint32_t TrigCondition::m_num_Zero[48] [private]

Definition at line 25 of file TrigCondition.h.

Referenced by getNumZero(), and TrigCondition().

const std::string TrigCondition::s_CONDITIONS [static, private]

Definition at line 27 of file TrigCondition.h.

Referenced by print().


Generated on Tue Nov 29 23:36:12 2016 for BOSS_7.0.2 by  doxygen 1.4.7