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_cdevwcm.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file packet_cdevwcm.cc
1
#include <
packet_cdevwcm.h
>
2
3
4
Packet_cdevwcm::Packet_cdevwcm
(
PACKET_ptr
data
)
5
:
Packet_w4
(data)
6
{
7
ps
= 0;
8
numberofreadings
= 0;
9
}
10
11
int
*
Packet_cdevwcm::decode
(
int
*nwout)
12
{
13
14
int
i;
15
if
(
ps
!= 0)
return
0;
16
17
int
*
k
= (
int
*)
findPacketDataStart
(
packet
);
18
if
(k == 0)
19
{
20
ps
= 0;
21
*nwout = 0;
22
return
0;
23
}
24
numberofreadings
= k[0];
25
26
ps
= (
struct
cdevWCMHistory
*) k;
27
28
if
(numberofreadings < 0 || numberofreadings >100)
return
0;
29
30
for
( i = 0; i<
numberofreadings
; i++)
31
{
32
fix_endianess
(&(
ps
->
reading
[i].
beamcurrent
));
33
34
}
35
36
*nwout = 0;
37
38
return
0;
39
}
40
41
42
// ------------------------------------------------------
43
44
45
void
Packet_cdevwcm::dump
(
OSTREAM
&os)
46
{
47
48
int
i,j;
49
50
decode
(&i);
51
52
this->
identify
(os);
53
54
os <<
"Number of samples "
<<
numberofreadings
<< std::endl;
55
for
( i = 0; i <
numberofreadings
; i++)
56
{
57
os <<
"Beam current for Sample "
<< std::setw(3) << i <<
" "
58
<< std::setw(12) <<
ps
->
reading
[i].
beamcurrent
<<
59
" Time: "
<< std::setw(8) <<
ps
->
reading
[i].
cdevCaptureTimeStamp
<< std::endl;
60
}
61
62
63
for
( i = 0; i <
numberofreadings
; i++)
64
{
65
os <<
" --- Bunch current values for Sample "
<< std::setw(3) << i << std::endl;
66
67
for
(j=0; j< 360; j++)
68
{
69
if
(
ps
->
reading
[i].
bunchcurrent
[j])
70
{
71
os << std::setw(3) << i <<
" "
<< std::setw(4) << j <<
" "
<<
72
ps
->
reading
[i].
bunchcurrent
[j] << std::endl;
73
}
74
}
75
}
76
77
78
dumpErrorBlock
(os);
79
dumpDebugBlock
(os);
80
}
81
82
int
Packet_cdevwcm::iValue
(
const
int
ich,
const
char
*what)
83
{
84
85
86
int
i;
87
decode
(&i);
88
89
if
( strcmp(what,
"SAMPLES"
) == 0 )
return
numberofreadings
;
90
if
( strcmp(what,
"TIMESTAMP"
) == 0 )
91
{
92
93
if
(ich < 0 || ich >=
numberofreadings
)
return
0;
94
return
ps
->
reading
[ich].
cdevCaptureTimeStamp
;
95
96
}
97
98
std::cout <<
"packet_cdevwcm::iValue error unknown datum: "
<< what << std::endl;
99
return
0;
100
101
}
102
103
104
float
Packet_cdevwcm::rValue
(
const
int
ich,
const
char
*what)
105
{
106
107
108
int
i;
109
decode
(&i);
110
111
if
( strcmp(what,
"SAMPLES"
) == 0 )
return
numberofreadings
;
112
113
if
( strcmp(what,
"BEAMCURRENT"
) == 0 )
114
{
115
116
if
(ich < 0 || ich >=
numberofreadings
)
return
0;
117
return
ps
->
reading
[ich].
beamcurrent
;
118
119
}
120
121
std::cout <<
"packet_cdevwcm::rValue error unknown datum: "
<< what << std::endl;
122
return
0;
123
124
}
125
126
float
Packet_cdevwcm::rValue
(
const
int
ich,
const
int
y
)
127
{
128
129
130
int
i;
131
decode
(&i);
132
133
if
(ich < 0 || ich >=
numberofreadings
)
return
0;
134
if
(y < 0 || y >= 360)
return
0;
135
136
return
ps
->
reading
[ich].
bunchcurrent
[
y
];
137
138
}
139
140
141
142
online_distribution
blob
master
newbasic
packet_cdevwcm.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:59
using
1.8.2 with
ECCE GitHub integration