BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnTrigUnion.h
Go to the documentation of this file.
1
#ifndef BMNTRIGUNION_H
2
#define BMNTRIGUNION_H
3
4
/**
5
* Struct BmnTrigStructPeriod7SetupBMN
6
* Struct for trigger logic state
7
*
8
* for example:
9
* BC1 and BC2 and not VETO and BD>=2 and SI >=3 :
10
* BmnTrigStruct s;
11
* s.BC1 = true;
12
* s.BC2 = true;
13
* s.VETO = true;
14
* s.ThrBD = 2;
15
* s.ThrSI = 3;
16
*
17
* By default all fields are zero/false.
18
* Each zero field means independence on this trigger.
19
*/
20
struct
__attribute__
((packed)) BmnTrigStructPeriod7SetupBMN
21
{
22
bool
BC1 : 1;
23
bool
BC2 : 1;
24
bool
BC3 : 1;
25
bool
VETO : 1;
///<- means not VETO
26
UShort_t
: 7;
// not used
27
bool
IsSpecial : 1;
28
UShort_t
ThrBD : 5;
29
UShort_t
ThrSI : 5;
30
UShort_t
: 10;
// not used
31
};
32
33
struct
__attribute__
((packed)) BmnTrigStructPeriod7SetupSRC
34
{
35
bool
BC1 : 1;
36
bool
BC2 : 1;
37
bool
AntiBC3Hi : 1;
38
bool
BC3Hi : 1;
39
bool
VETO : 1;
///<- means not VETO
40
bool
X1 : 1;
41
bool
Y1 : 1;
42
bool
X1Y1_and_X2Y2 : 1;
///<- 1 - and, 0 - or
43
bool
X2 : 1;
44
bool
Y2 : 1;
45
UShort_t
: 1;
// not used
46
bool
IsSpecial : 1;
47
UInt_t
: 20;
// not used
48
};
49
50
struct
__attribute__
((packed)) BmnTrigStructPeriod6
51
{
52
bool
BC1 : 1;
53
bool
BC2 : 1;
54
bool
T0 : 1;
55
bool
VETO : 1;
///<- means not VETO
56
UShort_t
: 7;
// not used
57
bool
IsSpecial : 1;
58
UShort_t
ThrBD : 5;
59
UShort_t
: 15;
// not used
60
};
61
/** union containing trigger state depending on current experimental setup */
62
union
BmnTrigUnion
{
63
BmnTrigStructPeriod7SetupBMN
Period7BMN
;
64
BmnTrigStructPeriod7SetupSRC
Period7SRC
;
65
BmnTrigStructPeriod6
Period6
;
66
UInt_t
storage
;
67
BmnTrigUnion
() {
memset
(
this
, 0,
sizeof
(
BmnTrigUnion
)); }
68
BmnTrigUnion
(
const
BmnTrigUnion
&
v
) { this->storage =
v
.storage; }
69
Bool_t
isSpecial
() {
return
(
storage
& (1 << 11)) > 0; }
70
};
71
72
#endif
/* BMNTRIGUNION_H */
memset
void memset(T *dest, T i, size_t num)
Copy to memory block [@dest, @dest+@num] num number of times the value of i of type @T with size @typ...
Definition
L1Grid.h:27
v
__m128 v
Definition
P4_F32vec4.h:1
__attribute__
nsL1vector __attribute__
M-Stream Header https://afi.jinr.ru/MpdDeviceRawDataFormat.
Definition
BmnTrigUnion.h:33
Bool_t
bool Bool_t
UShort_t
unsigned short UShort_t
UInt_t
unsigned int UInt_t
BmnTrigUnion::BmnTrigUnion
BmnTrigUnion(const BmnTrigUnion &v)
Definition
BmnTrigUnion.h:68
BmnTrigUnion::Period7BMN
BmnTrigStructPeriod7SetupBMN Period7BMN
Definition
BmnTrigUnion.h:63
BmnTrigUnion::Period7SRC
BmnTrigStructPeriod7SetupSRC Period7SRC
Definition
BmnTrigUnion.h:64
BmnTrigUnion::Period6
BmnTrigStructPeriod6 Period6
Definition
BmnTrigUnion.h:65
BmnTrigUnion::isSpecial
Bool_t isSpecial()
Definition
BmnTrigUnion.h:69
BmnTrigUnion::BmnTrigUnion
BmnTrigUnion()
Definition
BmnTrigUnion.h:67
BmnTrigUnion::storage
UInt_t storage
Definition
BmnTrigUnion.h:66
base
raw
BmnTrigUnion.h
Generated on
for BmnRoot by
1.17.0