TrigGTL Class Reference

#include <TrigGTL.h>

List of all members.

Public Member Functions

 TrigGTL (char *name)
virtual ~TrigGTL ()
void setGTLTrigData (uint32_t boardId, uint32_t window, uint32_t datasize, const uint32_t *data)
void initialize ()
const std::stringgetName () const
int getDataGroup12One (int index) const
int getDataGroup12Zero (int index) const
int getDataGroup34One (int index) const
int getDataGroup34Zero (int index) const
int getDataGroup5One (int index) const
int getDataGroup5Zero (int index) const

Private Attributes

std::string m_name
int m_dataGroup12_One [48]
int m_dataGroup12_Zero [48]
int m_dataGroup34_One [48]
int m_dataGroup34_Zero [48]
int m_dataGroup5_One [24]
int m_dataGroup5_Zero [24]


Detailed Description

Definition at line 8 of file TrigGTL.h.


Constructor & Destructor Documentation

TrigGTL::TrigGTL ( char *  name  ) 

Definition at line 4 of file TrigGTL.cxx.

References m_name.

00005 {
00006   m_name = name;
00007 }

virtual TrigGTL::~TrigGTL (  )  [inline, virtual]

Definition at line 11 of file TrigGTL.h.

00011 {}


Member Function Documentation

int TrigGTL::getDataGroup12One ( int  index  )  const [inline]

Definition at line 19 of file TrigGTL.h.

References m_dataGroup12_One.

00019 { return m_dataGroup12_One[index]; }

int TrigGTL::getDataGroup12Zero ( int  index  )  const [inline]

Definition at line 20 of file TrigGTL.h.

References m_dataGroup12_Zero.

00020 { return m_dataGroup12_Zero[index]; }

int TrigGTL::getDataGroup34One ( int  index  )  const [inline]

Definition at line 22 of file TrigGTL.h.

References m_dataGroup34_One.

00022 { return m_dataGroup34_One[index]; }

int TrigGTL::getDataGroup34Zero ( int  index  )  const [inline]

Definition at line 23 of file TrigGTL.h.

References m_dataGroup34_Zero.

00023 { return m_dataGroup34_Zero[index]; }

int TrigGTL::getDataGroup5One ( int  index  )  const [inline]

Definition at line 25 of file TrigGTL.h.

References m_dataGroup5_One.

00025 { return m_dataGroup5_One[index]; }

int TrigGTL::getDataGroup5Zero ( int  index  )  const [inline]

Definition at line 26 of file TrigGTL.h.

References m_dataGroup5_Zero.

00026 { return m_dataGroup5_Zero[index]; }

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

Definition at line 17 of file TrigGTL.h.

References m_name.

00017 { return m_name; }

void TrigGTL::initialize (  ) 

Definition at line 9 of file TrigGTL.cxx.

References genRecEmupikp::i, m_dataGroup12_One, m_dataGroup12_Zero, m_dataGroup34_One, m_dataGroup34_Zero, m_dataGroup5_One, and m_dataGroup5_Zero.

00010 {
00011   for(int i = 0; i < 48; i++)
00012   {
00013     m_dataGroup12_One[i]  = 0;
00014     m_dataGroup12_Zero[i] = 0;
00015     m_dataGroup34_One[i]  = 0;
00016     m_dataGroup34_Zero[i] = 0;
00017     if(i < 24) {
00018       m_dataGroup5_One[i]   = 0;
00019       m_dataGroup5_Zero[i]  = 0;
00020     }
00021   }
00022 }

void TrigGTL::setGTLTrigData ( uint32_t  boardId,
uint32_t  window,
uint32_t  datasize,
const uint32_t *  data 
)

Definition at line 24 of file TrigGTL.cxx.

References genRecEmupikp::i, ganga-rec::j, m_dataGroup12_One, m_dataGroup12_Zero, m_dataGroup34_One, m_dataGroup34_Zero, m_dataGroup5_One, and m_dataGroup5_Zero.

00024                                                                                                         {
00025 
00026   if(boardId != 0xD3) std::cerr << "ERROR: You set the wrong board data to TrigGTL!!!" << std::endl;
00027   if(datasize%window != 0) std::cerr << "WARNING: The data in GTL maybe not complete!!!" << std::endl;
00028  
00029   for(uint32_t i = 0; i < datasize; i++) {
00030     uint32_t dataId = ((data[i] >> 24) & 0x7);
00031     for(uint32_t j = 0, mask = 1; j < 24; j++, mask <<= 1) {
00032       if(dataId == 1) {
00033         if((data[i] & mask) != 0) {
00034           m_dataGroup12_One[j]    += 1;
00035         }
00036         if(m_dataGroup12_One[j] == 0) m_dataGroup12_Zero[j] += 1;
00037       }
00038       if(dataId == 2) {
00039         if((data[i] & mask) != 0) {
00040           m_dataGroup12_One[j+24] += 1;
00041         }
00042         if(m_dataGroup12_One[j+24] == 0) m_dataGroup12_Zero[j+24] += 1;
00043       }
00044       if(dataId == 3) {
00045         if((data[i] & mask) != 0) {
00046           m_dataGroup34_One[j]    += 1;
00047         }
00048         if(m_dataGroup34_One[j] == 0) m_dataGroup34_Zero[j] += 1;
00049       }
00050       if(dataId == 4) {
00051         if((data[i] & mask) != 0) {
00052           m_dataGroup34_One[j+24] += 1; 
00053         }
00054         if(m_dataGroup34_One[j+24] == 0) m_dataGroup34_Zero[j+24] += 1;
00055       }
00056       if(dataId == 5) {
00057         if((data[i] & mask) != 0) {
00058           m_dataGroup5_One[j]     += 1; 
00059         }
00060         if(m_dataGroup5_One[j] == 0) m_dataGroup5_Zero[j] += 1;
00061       }
00062     }
00063   }
00064 }


Member Data Documentation

int TrigGTL::m_dataGroup12_One[48] [private]

Definition at line 31 of file TrigGTL.h.

Referenced by getDataGroup12One(), initialize(), and setGTLTrigData().

int TrigGTL::m_dataGroup12_Zero[48] [private]

Definition at line 32 of file TrigGTL.h.

Referenced by getDataGroup12Zero(), initialize(), and setGTLTrigData().

int TrigGTL::m_dataGroup34_One[48] [private]

Definition at line 34 of file TrigGTL.h.

Referenced by getDataGroup34One(), initialize(), and setGTLTrigData().

int TrigGTL::m_dataGroup34_Zero[48] [private]

Definition at line 35 of file TrigGTL.h.

Referenced by getDataGroup34Zero(), initialize(), and setGTLTrigData().

int TrigGTL::m_dataGroup5_One[24] [private]

Definition at line 37 of file TrigGTL.h.

Referenced by getDataGroup5One(), initialize(), and setGTLTrigData().

int TrigGTL::m_dataGroup5_Zero[24] [private]

Definition at line 38 of file TrigGTL.h.

Referenced by getDataGroup5Zero(), initialize(), and setGTLTrigData().

std::string TrigGTL::m_name [private]

Definition at line 29 of file TrigGTL.h.

Referenced by getName(), and TrigGTL().


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