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_idcdevdescr.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file packet_idcdevdescr.cc
1
#include "
packet_idcdevdescr.h
"
2
#include <stdio.h>
3
#include <vector>
4
#include <sstream>
5
#include <string.h>
6
7
8
Packet_idcdevdescr::Packet_idcdevdescr
(
PACKET_ptr
data
)
9
:
Packet_w1
(data)
10
{
11
12
is_decoded
= 0;
13
}
14
15
16
17
double
Packet_idcdevdescr::dValue
(
const
int
ich,
const
char
*what)
18
{
19
20
if
( !
is_decoded
)
21
{
22
23
decode
();
24
25
}
26
27
static
namedVector
search;
28
strcpy ( search.
name
, what );
29
30
packetidcdevdescrSetiter
it
=
nvset
.find(&search);
31
32
if
( it !=
nvset
.end())
33
{
34
namedVector
*
x
= *
it
;
35
// std::cout << what << " x " << x->values.size() << std::endl;
36
if
( ich < 0 || (
unsigned
int
) ich >= x->
values
.size())
return
0;
37
return
(x->
values
)[ich];
38
39
}
40
41
return
0;
42
43
44
}
45
46
47
48
Packet_idcdevdescr::~Packet_idcdevdescr
( )
49
{
50
51
packetidcdevdescrSetiter
it
;
52
for
(it =
nvset
.begin(); it !=
nvset
.end(); it++)
53
{
54
delete
(*it);
55
// nvset.erase(it); // commented out by K.Aoki
56
}
57
nvset
.clear();
// added by K.Aoki
58
59
}
60
61
int
*
Packet_idcdevdescr::decode
( )
62
{
63
is_decoded
= 1;
64
65
PHDWORD
*
x
=
findPacketDataStart
(
packet
);
66
67
char
* from = (
char
*) &x[1];
68
69
int
dlength = 4 *
getDataLength
() - 4;
70
71
char
*
t
=
new
char
[dlength+1];
72
strncpy ( t, from, dlength);
73
74
char
*token = strtok(t,
";"
);
75
while
(token)
76
{
77
struct
namedVector
*
xx
=
new
struct
namedVector
;
78
double
value
;
79
char
*
start
= strstr( token,
"="
);
80
if
( start)
81
{
82
*start =
'\0'
;
83
// std::cout << "---" << token << std::endl;
84
strcpy ( xx->
name
, token);
85
86
start++;
87
char
*
copy
= NULL;
88
copy =
new
char
[strlen(start)+1];
89
strcpy ( copy, start);
90
91
{
92
char
*
c
;
93
94
for
( c= copy; *
c
;)
95
{
96
if
( *c ==
','
) *c =
' '
;
97
c++;
98
}
99
}
100
101
{
102
std::stringstream iss(copy);
103
while
( iss >> value )
104
{
105
// std::cout << " " << value << " ";
106
xx->
values
.push_back(value);
107
}
108
// os << copy << std::endl;
109
if
(
nvset
.find(xx) !=
nvset
.end() )
// added by K.Aoki
110
{
111
std::cout <<
"multiple entries\n"
112
<<
" "
<< xx->
name
<< std::endl;
113
delete
xx
;
114
}
115
else
116
{
117
nvset
.insert ( xx);
118
}
119
//std::cout << "Token " << token << " vector length = " << xx->values.size() << std::endl;
120
}
121
delete
[]
copy
;
122
}
else
{
123
delete
xx
;
124
}
125
126
token = strtok(0,
";"
);
127
}
128
delete
[]
t
;
// added by K.Aoki
129
130
return
0;
131
}
132
133
void
Packet_idcdevdescr::dump
(
OSTREAM
& os)
134
{
135
136
PHDWORD
*
x
=
findPacketDataStart
(
packet
);
137
138
char
* from = (
char
*) &x[1];
139
140
int
dlength = 4 *
getDataLength
() - 4;
141
142
os <<
"Length = "
<< *x << std::endl;
143
144
char
*
t
=
new
char
[dlength+1];
145
strncpy ( t, from, dlength);
146
147
char
*token = strtok(t,
";"
);
148
while
(token)
149
{
150
os << token << std::endl;
151
token = strtok(0,
";"
);
152
}
153
154
/*
155
os << std::endl;
156
os << dValue(0, "bi8-rot3-2.3") << std::endl;
157
os << dValue(0, "rbpm.bi8-bh1avgOrbTimeStamp") << std::endl;
158
os << dValue(0, "pol_countUpRightY") << std::endl;
159
os << dValue(0, "pol_downCountsY") << std::endl;
160
os << dValue(0, "pol_maxTimeB") << std::endl;
161
*/
162
163
}
online_distribution
blob
master
newbasic
packet_idcdevdescr.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:59
using
1.8.2 with
ECCE GitHub integration