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_starscaler.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file packet_starscaler.cc
1
#include "
packet_starscaler.h
"
2
3
Packet_starscaler::Packet_starscaler
(
PACKET_ptr
data
)
4
:
Packet_w4
(data)
5
{
6
s_vectorlength
= 0;
7
s_vector
= 0;
8
}
9
10
Packet_starscaler::~Packet_starscaler
()
11
{
12
#if !defined(SunOS) && !defined(OSF1)
13
smap
.clear();
14
if
(
s_vector
)
delete
[]
s_vector
;
15
#endif
16
}
17
18
int
*
Packet_starscaler::decode
(
int
*nwout)
19
{
20
21
#if !defined(SunOS) && !defined(OSF1)
22
int
dlength =
getDataLength
();
23
s_vectorlength
= dlength/2;
24
25
26
27
int
*
p
=
new
int
[
s_vectorlength
];
28
s_vector
=
new
long
long
[
s_vectorlength
];
29
s_vector
[0] = 0;
30
int
*
m
= (
int
*)
findPacketDataStart
(
packet
);
31
32
int
i;
33
for
( i = 0; i <
s_vectorlength
; i++)
34
{
35
int
l = i*2;
36
p[i] = (( m[l+1]>>8) & 0xffffff);
37
long
long
lsb = (
unsigned
int
) m[l];
38
long
long
msb = (
unsigned
int
) m[l+1];
39
s_vector
[i] = lsb | (( msb &0xff) <<32);
40
smap
[p[i]] = i;
41
42
}
43
44
45
*nwout =
s_vectorlength
;
46
return
p
;
47
#else
48
return
0;
49
#endif
50
51
}
52
53
// ------------------------------------------------------
54
55
long
long
Packet_starscaler::lValue
(
const
int
chan)
56
{
57
#if !defined(SunOS) && !defined(OSF1)
58
if
(
decoded_data1
== NULL )
59
{
60
if
( (
decoded_data1
=
decode
(&
data1_length
))==NULL)
61
return
0;
62
}
63
64
65
66
if
(chan < 0 || chan >= (1<<24) )
return
0;
67
68
std::map <int, int>::iterator
it
;
69
if
( ( it =
smap
.find(chan) ) ==
smap
.end() )
70
{
71
return
0;
72
}
73
74
int
index = it->second;
75
76
if
( index < 0 || index >=
s_vectorlength
)
77
{
78
79
return
0;
80
}
81
return
s_vector
[index];
82
83
#else
84
return
0;
85
#endif
86
87
}
88
89
int
Packet_starscaler::iValue
(
const
int
index)
90
{
91
#if !defined(SunOS) && !defined(OSF1)
92
if
(
decoded_data1
== NULL )
93
{
94
if
( (
decoded_data1
=
decode
(&
data1_length
))==NULL)
95
return
0;
96
}
97
98
99
100
if
(index < 0 || index >=
s_vectorlength
)
return
0;
101
102
return
decoded_data1
[index];
103
104
#else
105
return
0;
106
#endif
107
108
}
109
110
int
Packet_starscaler::iValue
(
const
int
ich,
const
char
*what)
111
{
112
113
if
(
decoded_data1
== NULL )
114
{
115
if
( (
decoded_data1
=
decode
(&
data1_length
))==NULL)
116
return
0;
117
}
118
119
if
( strcmp(what,
"CHANNELCOUNT"
)==0)
120
{
121
return
s_vectorlength
-1;
122
}
123
return
0;
124
125
}
126
127
void
Packet_starscaler::dump
(
OSTREAM
&os)
128
{
129
130
131
this->
identify
(os);
132
133
int
i;
134
135
for
( i= 0; i <
iValue
(0,
"CHANNELCOUNT"
); i++)
136
{
137
os << i <<
" "
<< std::setw(10) <<
iValue
(i) <<
" | "
<< std::setw(12) <<
lValue
(
iValue
(i)) << std::endl;
138
}
139
}
140
online_distribution
blob
master
newbasic
packet_starscaler.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:59
using
1.8.2 with
ECCE GitHub integration