/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/TrigEvent/TrigEvent-00-01-02/src/TrigSAF.cxx

Go to the documentation of this file.
00001 #include <iostream>
00002 #include "TrigEvent/TrigSAF.h"
00003 
00004 TrigSAF::TrigSAF(char* name) 
00005 {
00006   m_name = name;
00007 }
00008 
00009 void TrigSAF::initialize()
00010 {
00011   for(int i = 0; i < 48; i++)
00012   {
00013     m_dataGroup1_One[i]  = 0;
00014     m_dataGroup1_Zero[i] = 0;
00015     m_dataGroup2_One[i]  = 0;
00016     m_dataGroup2_Zero[i] = 0;
00017     m_dataGroup3[i] = 0;
00018     m_dataGroup4[i] = 0;
00019   }
00020 }
00021 
00022 void TrigSAF::setSAFTrigData( uint32_t boardId, uint32_t window, uint32_t datasize, const uint32_t* data) {
00023 
00024   if((boardId != 0xd2)&&(boardId != 0xd4)&&(boardId != 0xd6)) std::cerr << "ERROR: You set the wrong board data to TrigSAF!!!" << std::endl;
00025   
00026   uint32_t jBegin = 0, jEnd = 0;
00027   if(boardId == 0xd2) { jBegin = 32; jEnd = jBegin+16; } //SAF1
00028   if(boardId == 0xd4) { jBegin = 16; jEnd = jBegin+16; } //SAF2
00029   if(boardId == 0xd6) { jBegin =  0; jEnd = jBegin+16; } //SAF3
00030 
00031   for(uint32_t i = 0; i < datasize; i++) {
00032     uint32_t dataId = ((data[i] >> 16) & 0xFF);
00033     for(uint32_t j = jBegin, mask = 1; j < jEnd; j++, mask <<= 1) {
00034       if(dataId == 1) {
00035         if((data[i] & mask) != 0) {
00036           m_dataGroup1_One[j]    += 1;
00037         }
00038         if(m_dataGroup1_One[j] == 0) m_dataGroup1_Zero[j] += 1;
00039       }
00040       if(dataId == 2) {
00041         if((data[i] & mask) != 0) {
00042           m_dataGroup2_One[j] += 1;
00043         }
00044         if(m_dataGroup2_One[j] == 0) m_dataGroup2_Zero[j] += 1;
00045       }
00046       if(dataId == 3) {
00047         if((data[i] & mask) != 0) {
00048           m_dataGroup3[j]    = 1;
00049         }
00050       }
00051       if(dataId == 4) {
00052         if((data[i] & mask) != 0) {
00053           m_dataGroup4[j]    = 1; 
00054         }
00055       }
00056     }
00057   }
00058 }

Generated on Tue Nov 29 23:11:43 2016 for BOSS_7.0.2 by  doxygen 1.4.7