BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TrigGTL.cxx
Go to the documentation of this file.
1#include "TrigEvent/TrigGTL.h"
2#include <iostream>
3
4TrigGTL::TrigGTL( char* name ) { m_name = name; }
5
7 for ( int i = 0; i < 48; i++ )
8 {
9 m_dataGroup12_One[i] = 0;
10 m_dataGroup12_Zero[i] = 0;
11 m_dataGroup34_One[i] = 0;
12 m_dataGroup34_Zero[i] = 0;
13 if ( i < 24 )
14 {
15 m_dataGroup5_One[i] = 0;
16 m_dataGroup5_Zero[i] = 0;
17 }
18 }
19}
20
21void TrigGTL::setGTLTrigData( uint32_t boardId, uint32_t window, uint32_t datasize,
22 const uint32_t* data ) {
23
24 if ( boardId != 0xD3 )
25 std::cerr << "ERROR: You set the wrong board data to TrigGTL!!!" << std::endl;
26 if ( datasize % window != 0 )
27 std::cerr << "WARNING: The data in GTL maybe not complete!!!" << std::endl;
28
29 for ( uint32_t i = 0; i < datasize; i++ )
30 {
31 uint32_t dataId = ( ( data[i] >> 24 ) & 0x7 );
32 for ( uint32_t j = 0, mask = 1; j < 24; j++, mask <<= 1 )
33 {
34 if ( dataId == 1 )
35 {
36 if ( ( data[i] & mask ) != 0 ) { m_dataGroup12_One[j] += 1; }
37 if ( m_dataGroup12_One[j] == 0 ) m_dataGroup12_Zero[j] += 1;
38 }
39 if ( dataId == 2 )
40 {
41 if ( ( data[i] & mask ) != 0 ) { m_dataGroup12_One[j + 24] += 1; }
42 if ( m_dataGroup12_One[j + 24] == 0 ) m_dataGroup12_Zero[j + 24] += 1;
43 }
44 if ( dataId == 3 )
45 {
46 if ( ( data[i] & mask ) != 0 ) { m_dataGroup34_One[j] += 1; }
47 if ( m_dataGroup34_One[j] == 0 ) m_dataGroup34_Zero[j] += 1;
48 }
49 if ( dataId == 4 )
50 {
51 if ( ( data[i] & mask ) != 0 ) { m_dataGroup34_One[j + 24] += 1; }
52 if ( m_dataGroup34_One[j + 24] == 0 ) m_dataGroup34_Zero[j + 24] += 1;
53 }
54 if ( dataId == 5 )
55 {
56 if ( ( data[i] & mask ) != 0 ) { m_dataGroup5_One[j] += 1; }
57 if ( m_dataGroup5_One[j] == 0 ) m_dataGroup5_Zero[j] += 1;
58 }
59 }
60 }
61}
TTree * data
void initialize()
Definition TrigGTL.cxx:6
void setGTLTrigData(uint32_t boardId, uint32_t window, uint32_t datasize, const uint32_t *data)
Definition TrigGTL.cxx:21
TrigGTL(char *name)
Definition TrigGTL.cxx:4