15 : dirIPBB_(iConfig.getParameter<
string>(
"DirIPBB")),
16 runTime_(iConfig.getParameter<double>(
"RunTime")),
17 dirIn_(dirIPBB_ +
"in.txt"),
18 dirOut_(dirIPBB_ +
"out.txt"),
19 dirPre_(dirIPBB_ +
"pre.txt"),
20 dirDiff_(dirIPBB_ +
"diff.txt"),
21 numFrames_(
setup->numFramesIO()),
22 numFramesInfra_(
setup->numFramesInfra()),
23 numRegions_(
setup->numRegions()) {}
44 static constexpr
int quad = 4;
46 const int voidChannel = numChannel % quad == 0 ? 0 : quad - numChannel % quad;
48 ss <<
header(numChannel + voidChannel);
54 ss <<
infraGap(nFrame, numChannel + voidChannel);
58 for (
int channel = 0; channel < numChannel; channel++) {
59 const vector<Frame>& bvs =
bits[
offset + channel];
62 for (
int channel = 0; channel < voidChannel; channel++)
79 <<
"us' -do 'quit' &> /dev/null";
80 system(
cmd.str().c_str());
111 ss <<
"Board CMSSW" << endl <<
" Quad/Chan :";
113 for (
int link = 0; link < numLinks; link++)
114 ss <<
" q" << setfill(
'0') << setw(2) << link / 4 <<
"c" << link % 4 <<
" ";
118 for (
int link = 0; link < numLinks; link++)
119 ss <<
" " << setfill(
'0') << setw(3) << link <<
" ";
129 for (
int link = 0; link < numLinks; link++)
139 ss <<
"Frame " << setfill(
'0') << setw(4) << nFrame++ <<
" :";
146 ss <<
" 1v" << setfill(
'0') << setw(
TTBV::S_ / 4) << std::hex << bv.to_ullong();
std::bitset< TTBV::S_ > Frame
void convert(const std::vector< std::vector< tt::Frame >> &bits, std::stringstream &ss) const
Class to process and provide run-time constants used by Track Trigger emulators.
bool analyze(const std::vector< std::vector< tt::Frame >> &input, const std::vector< std::vector< tt::Frame >> &output) const
static std::string const input
void sim(const std::stringstream &ss) const
std::string header(int numChannel) const
std::string infraGap(int &nFrame, int numChannel) const
bool compare(std::stringstream &ss) const
std::string hex(const tt::Frame &bv) const
std::string frame(int &nFrame) const