BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
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 */
20struct __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
33struct __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
50struct __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 */
63 BmnTrigStructPeriod7SetupBMN Period7BMN;
64 BmnTrigStructPeriod7SetupSRC Period7SRC;
65 BmnTrigStructPeriod6 Period6;
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 */
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
__m128 v
Definition P4_F32vec4.h:1
nsL1vector __attribute__
M-Stream Header https://afi.jinr.ru/MpdDeviceRawDataFormat.
bool Bool_t
unsigned short UShort_t
unsigned int UInt_t
BmnTrigUnion(const BmnTrigUnion &v)
BmnTrigStructPeriod7SetupBMN Period7BMN
BmnTrigStructPeriod7SetupSRC Period7SRC
BmnTrigStructPeriod6 Period6
Bool_t isSpecial()