ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
ECCE @ EIC Software
Deprecated List
Modules
Namespaces
Classes
Files
File List
acts
analysis
coresoftware
Doxygen_Assist
ecce-detectors
fun4all_eicdetectors
geant4
macros
online_distribution
blob
master
newbasic
A_Event.cc
A_Event.h
all.h
BoolDefs.h
buffer.cc
buffer.h
BufferConstants.h
caen_correction.cc
caen_correction.h
Cframe.C
Cframe.h
CframeV1.C
CframeV1.h
changehitformat.cc
changeid.cc
Cpacket.C
Cpacket.h
CpacketV1.C
CpacketV1.h
dataBlock.C
dataBlock.h
dataBlockHdr.h
dataBlockPublic.h
date_filter_msg_buffer.cc
date_filter_msg_buffer.h
ddump.cc
decoding_routines.cc
decoding_routines.h
devicedefs.h
dlist.cc
dpipe.cc
dpipe_filter.h
errorBlock.C
errorBlock.h
Event.h
event_io.h
eventcombiner.cc
Eventiterator.h
eventLinkDef.h
EventTypes.h
evt_mnemonic.cc
EvtConstants.h
EvtStructures.h
fakeFrame.C
fakeFrame.h
fileEventiterator.cc
fileEventiterator.h
filter_msg_buffer.cc
filter_msg_buffer.h
formatError.C
formatError.h
formatIO.C
formatIO.h
frameHdr.h
frameHdrV1.h
framePackets.C
framePackets.h
framePublic.h
frameRoutines.C
frameRoutines.h
frameSourceIds.h
frameV1Public.h
gen_utilities.h
generalDefinitions.h
gzbuffer.cc
gzbuffer.h
listEventiterator.cc
listEventiterator.h
lzobuffer.cc
lzobuffer.h
md5.cc
md5.h
mizar.h
msg_buffer.cc
msg_buffer.h
msg_control.cc
msg_control.h
msg_profile.h
msgLinkDef.h
msgqueue.C
oamlBuffer.cc
oamlBuffer.h
oBuffer.cc
oBuffer.h
odd_filter.cc
oEvent.cc
oEvent.h
ogzBuffer.cc
ogzBuffer.h
olzoBuffer.cc
olzoBuffer.h
oncs_mnemonic.cc
oncsBuffer.cc
oncsBuffer.h
oncsCollection.h
oncsdefs.h
oncsEvent.cc
oncsEvent.h
oncsEventiterator.cc
oncsEventiterator.h
oncsEvtConstants.h
oncsEvtStructures.h
oncsStructures.h
oncsSub_id2evt.cc
oncsSub_id2evt.h
oncsSub_id4evt.cc
oncsSub_id4evt.h
oncsSub_idbspetdata.cc
oncsSub_idbspetdata.h
oncsSub_idcaenv1742.cc
oncsSub_idcaenv1742.h
oncsSub_idcaenv792.cc
oncsSub_idcaenv792.h
oncsSub_idcstr.cc
oncsSub_idcstr.h
oncsSub_iddigitizerv1.cc
oncsSub_iddigitizerv1.h
oncsSub_iddreamv0.cc
oncsSub_iddreamv0.h
oncsSub_iddrs4v1.cc
oncsSub_iddrs4v1.h
oncsSub_idfnalmwpc.cc
oncsSub_idfnalmwpc.h
oncsSub_idfnalmwpcv2.cc
oncsSub_idfnalmwpcv2.h
oncsSub_idmvtxv0.cc
oncsSub_idmvtxv0.h
oncsSub_idmvtxv1.cc
oncsSub_idmvtxv1.h
oncsSub_idmvtxv2.cc
oncsSub_idmvtxv2.h
oncsSub_idrcpetdata.cc
oncsSub_idrcpetdata.h
oncsSub_idsis3300.cc
oncsSub_idsis3300.h
oncsSub_idsis3300r.cc
oncsSub_idsis3300r.h
oncsSub_idsrs_v01.cc
oncsSub_idsrs_v01.h
oncsSub_idtpcfeev1.cc
oncsSub_idtpcfeev1.h
oncsSub_idtpcfeev2.cc
oncsSub_idtpcfeev2.h
oncsSub_iduppetdata.cc
oncsSub_iduppetdata.h
oncsSub_iduppetdata_v104.cc
oncsSub_iduppetdata_v104.h
oncsSub_iduppetparams.cc
oncsSub_iduppetparams.h
oncsSubConstants.h
oncsSubevent.cc
oncsSubevent.h
ophBuffer.cc
ophBuffer.h
ospBuffer.cc
ospBuffer.h
ospEvent.cc
ospEvent.h
packet.h
packet_A.cc
packet_A.h
packet_cdevbpm.cc
packet_cdevbpm.h
packet_cdevbuckets.cc
packet_cdevbuckets.h
packet_cdevdvm.cc
packet_cdevdvm.h
packet_cdevir.cc
packet_cdevir.h
packet_cdevmadch.cc
packet_cdevmadch.h
packet_cdevpolarimeter.cc
packet_cdevpolarimeter.h
packet_cdevpoltarget.cc
packet_cdevpoltarget.h
packet_cdevring.cc
packet_cdevring.h
packet_cdevringnopol.cc
packet_cdevringnopol.h
packet_cdevwcm.cc
packet_cdevwcm.h
packet_collection.h
packet_fvtx_dcm0.cc
packet_fvtx_dcm0.h
packet_gl1.cc
packet_gl1.h
packet_gl1_evclocks.cc
packet_gl1_evclocks.h
packet_gl1p.cc
packet_gl1p.h
packet_gl1psum.cc
packet_gl1psum.h
packet_hbd_fpga.cc
packet_hbd_fpga.h
packet_hbd_fpgashort.cc
packet_hbd_fpgashort.h
packet_id2evt.cc
packet_id2evt.h
packet_id4evt.cc
packet_id4evt.h
packet_id4scaler.cc
packet_id4scaler.h
packet_idcdevdescr.cc
packet_idcdevdescr.h
packet_idcstr.cc
packet_idcstr.h
packet_iddigitizerv2.cc
packet_iddigitizerv2.h
packet_mnemonic.cc
packet_starscaler.cc
packet_starscaler.h
packet_w124.cc
packet_w124.h
packetConstants.h
packetHdr.h
packetHdrV1.h
packetHeaders.h
packetPublic.h
packetRoutines.C
packetRoutines.h
packetV1Public.h
phenixOnline.h
phenixTypes.h
PHmd5Utils.cc
PHmd5Utils.h
PHmd5Value.cc
PHmd5Value.h
prdf2prdf.cc
prdfBuffer.cc
prdfBuffer.h
prdfcheck.cc
prdfsplit.cc
printmsg.h
rcdaqEventiterator.cc
rcdaqEventiterator.h
remote_msg_buffer.cc
remote_msg_buffer.h
simpleRandom.cc
simpleRandom.h
strnstr.cc
strnstr.h
strptime.cc
testEventiterator.cc
testEventiterator.h
pmonitor
tutorials
doxygen_mainpage.h
File Members
External Links
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
packet_gl1.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file packet_gl1.h
1
#ifndef __PACKET_GL1_H__
2
#define __PACKET_GL1_H__
3
4
/*
5
GL1 Accepted Event Data -
6
7
This header file defines a standard structure that can be
8
used to map GL1 accepted event data into something a
9
bit more "useful".
10
11
The documentation for the GL1 output data packets can be
12
found at:
13
14
http://www.physics.iastate.edu/~npexp/papers.html
15
(the article you want is "GL1 Update: Monitor and L1DD Data")
16
17
HISTORY:
18
19
6/08/99 J.Lajoie - first version
20
6/09/99 J.Lajoie - updated, added multiple GL1, comments
21
7/12/99 J.Lajoie - updated, structure made more reasonable to match data
22
9/12/99 J.Lajoie - updated, removed zero words for GL1-1 and GL1-2
23
24
*/
25
26
/* Each GL1 will have an output packet in the data stream */
27
28
#define NUM_GL1_BOARDS 4
29
30
#define HEADER3 0
31
#define YEAR 1
32
#define MONTH 2
33
#define DATE 3
34
#define DAY 4
35
#define HOUR 5
36
#define MIN 6
37
#define SECGL1 7 // previous SEC collided with /usr/include/sys/time.h
38
#define ALIGNMENT 8
39
#define CROSSCTR 9
40
#define BEAMCTR0 10
41
#define BEAMCTR1 11
42
#define GACCEPT 12
43
#define ACPTORINP 13
44
#define ACPTCTR 14
45
#define GRANCTR 15
46
#define GDISABLE 16
47
#define FACCEPT 17
48
#define HEADER2 18
49
#define PACCEPT 19
50
#define MODEBITS 20
51
#define RBITS0 21
52
#define RBITS1 22
53
#define DCMFULL 23
54
#define FEMUNREL 24
55
#define GBUSY 25
56
#define PXBAR 26
57
#define PBUSY 27
58
#define HEADER1 28
59
#define LUTINPUT 29
60
#define RAWTRIG 30
61
#define TRIGBUSY 31
62
#define LIVETRIG 32
63
#define SCALEDTRIG 33
64
#define TRIGPARXBAR 34
65
66
/* A structure for the GL1-1 accepted event data */
67
68
typedef
struct
{
69
70
/* GL1 data */
71
unsigned
short
int
gl1_header
;
/* 0x1aXX, XX=lower 8 bits of accept counter */
72
unsigned
int
lut_input[8];
/* packed LUT input data */
73
unsigned
int
lut_output
;
/* packed LUT output data (raw triggers) */
74
unsigned
int
trigger_busy
;
/* bit-coded trigger busies */
75
unsigned
int
live_trig_out
;
/* bit-coded live trigger output */
76
unsigned
int
scaled_trig_out
;
/* bit-coded scaled trigger output */
77
unsigned
int
trig_part_xbar_out
;
/* bit coded output of trig->part XBAR */
78
79
}
GL1_1_DATA
;
80
81
/* A structure for the GL1-2 accepted event data */
82
83
typedef
struct
{
84
85
/* GL2 data */
86
unsigned
short
int
gl2_header
;
/* 0x2aXX, XX=lower 8 bits of accept counter */
87
unsigned
int
partition_accept
;
/* bit-coded partition accept vector */
88
unsigned
short
int
mode_bits
;
/* GL1 mode bits for this event */
89
unsigned
int
reduced_bits[2];
/* 64 bit reduced bit input for this event */
90
unsigned
int
dcm_full_fem_busy
;
/* bit-coded dcm busy/FEM full vector */
91
unsigned
int
fem_unreliable
;
/* bit-coded FEM unreliable vector */
92
unsigned
int
granule_busy
;
/* bit-coded granule busy vector */
93
unsigned
int
part_busy_xbar_out
;
/* output of partition busy XBAR */
94
unsigned
int
part_busy_bus
;
/* partition busy bus for this event */
95
96
}
GL1_2_DATA
;
97
98
typedef
struct
{
99
100
/* Time Stamp Structure */
101
unsigned
short
year
;
102
unsigned
short
month
;
103
unsigned
short
date
;
104
unsigned
short
day
;
105
unsigned
short
hour
;
106
unsigned
short
min
;
107
unsigned
short
sec
;
108
109
}
GL1_TIME_STAMP
;
110
/* A structure for the GL1-3 accepted event data */
111
112
typedef
struct
{
113
114
/* GL3 data */
115
unsigned
short
int
gl3_header
;
/* >0x3aXX, XX=lower 8 bits of accept counter */
116
GL1_TIME_STAMP
timestamp
;
/* BCD coded timestamp */
117
unsigned
short
int
alignment
;
/* system alignment bits */
118
unsigned
int
beam_crossing_counter[2];
/* 64-bit beam crossing counter */
119
unsigned
short
int
bunch_crossing_counter
;
/* bunch crossing counter (reset by fiducial) */
120
unsigned
int
granule_accept_vector
;
/* bit-coded granule accept vector */
121
unsigned
int
accept_or_input
;
/* bit-coded input to accept OR */
122
unsigned
int
gl1_accept_counter
;
/* 32-bit GL1 accept counter */
123
unsigned
short
int
granule_accept[32];
/* 16-bit granule accept counters */
124
unsigned
int
granule_disables
;
/* bit-coded granule disables */
125
unsigned
int
forced_accepts
;
/* bit-coded forced accepts */
126
127
}
GL1_3_DATA
;
128
129
typedef
struct
{
130
131
GL1_3_DATA
gl3_payload
;
132
GL1_2_DATA
gl2_payload
;
133
int
gl1_boards
;
134
GL1_1_DATA
gl1_payload[
NUM_GL1_BOARDS
];
135
136
}
GL1_EVENT_DATA
;
137
138
139
#include <
packet_w124.h
>
140
145
#ifndef __CINT__
146
class
WINDOWSEXPORT
Packet_gl1
:
public
Packet_w4
{
147
#else
148
class
Packet_gl1
:
public
Packet_w4
{
149
#endif
150
public
:
151
Packet_gl1
(
PACKET_ptr
);
152
~
Packet_gl1
();
153
virtual
int
iValue(
const
int
channel,
const
char
*what);
154
virtual
int
iValue(
const
int
channel,
const
int
what);
155
virtual
void
dump (
OSTREAM
& );
156
157
protected
:
158
virtual
void
demangle ();
159
virtual
int
*decode (
int
*);
160
GL1_EVENT_DATA
*
sgl1
;
161
};
162
163
#endif
/* __PACKET_GL1_H__ */
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
online_distribution
blob
master
newbasic
packet_gl1.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:59
using
1.8.2 with
ECCE GitHub integration