Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TrigCondition Class Reference

#include <TrigCondition.h>

List of all members.

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]


Constructor & Destructor Documentation

TrigCondition::TrigCondition char *  name,
uint32_t  window,
const uint32_t *  data
 

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]
 

00011 {}

TrigCondition::TrigCondition char *  name,
uint32_t  window,
const uint32_t *  data
 

virtual TrigCondition::~TrigCondition  )  [inline, virtual]
 

00011 {}


Member Function Documentation

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

00014 { return m_condList; }

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

00014 { return m_condList; }

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

00013 { return m_name; }

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

00013 { return m_name; }

uint32_t TrigCondition::getNumOne int  index  )  const [inline]
 

00015 { return m_num_One[index]; }

uint32_t TrigCondition::getNumOne int  index  )  const [inline]
 

00015 { return m_num_One[index]; }

uint32_t TrigCondition::getNumZero int  index  )  const [inline]
 

00016 { return m_num_Zero[index]; }

uint32_t TrigCondition::getNumZero int  index  )  const [inline]
 

00016 { return m_num_Zero[index]; }

void TrigCondition::print  )  const
 

void TrigCondition::print  )  const
 

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]
 

std::vector<uint32_t> TrigCondition::m_condList [private]
 

std::string TrigCondition::m_name [private]
 

uint32_t TrigCondition::m_num_One [private]
 

uint32_t TrigCondition::m_num_Zero [private]
 

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


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 19:05:01 2011 for BOSS6.5.5 by  doxygen 1.3.9.1