16 case kFtmIdle: out <<
" [idle]";
break;
22 out <<
" Type=" <<
fType;
25 case kHeader: out <<
" [header]";
break;
28 case kFtuList: out <<
" [ftulist]";
break;
30 case kRegister: out <<
" [register]";
break;
34 out <<
" Id=0x" << std::hex <<
fBoardId;
47 out << std::hex <<
"Pings=" << ((
fPingAddr>>8)&0x3);
48 out <<
" Addr=" << std::setw(2) << (
fPingAddr&0x1f);
49 out <<
" DNA=" << std::setw(16) <<
fDNA;
50 out <<
" ErrorCounter=" << std::dec <<
fErrorCounter << std::endl;
55 out <<
"Number of boards responded: " << std::dec <<
fNumBoards <<
" (";
57 out << fNumBoardsCrate[1] <<
", ";
58 out << fNumBoardsCrate[2] <<
", ";
59 out << fNumBoardsCrate[3] <<
")" << std::endl;
60 out <<
"Active boards: " << std::hex;
61 out << std::setfill(
'0');
63 out << std::setw(4) << fActiveFTU[1];
64 out << std::setw(4) << fActiveFTU[2];
65 out << std::setw(4) << fActiveFTU[3] << std::dec << std::endl;
66 for (
int c=0; c<4; c++)
67 for (
int b=0; b<10; b++)
69 out <<
' ' << c <<
':' << std::setfill(
'0') << std::setw(2) << b <<
": ";
76 out <<
"Rate=" << std::setw(5) <<
fRateTotal <<
" (";
78 out << std::setw(5) << fRatePatch[1] <<
", ";
79 out << std::setw(5) << fRatePatch[2] <<
", ";
80 out << std::setw(5) << fRatePatch[3] <<
") ";
82 out <<
"CrcError=" <<
fCrcError << std::endl;
90 out << fTempSensor[1] <<
",";
91 out << fTempSensor[2] <<
",";
92 out << fTempSensor[3] <<
")" << std::endl;
94 for (
int c=0; c<4; c++)
95 for (
int b=0; b<10; b++)
97 out <<
' ' << c <<
':' << std::setfill(
'0') << std::setw(2) << b <<
": ";
104 out <<
"Enable=( " << std::hex;
105 for (
int i=0;
i<4;
i++)
106 out << std::setw(4) <<
fEnable[
i] <<
" ";
107 out <<
") " << std::dec;
109 out <<
"DAC A=" <<
fDAC[0] <<
" ";
110 out <<
"B=" << fDAC[1] <<
" ";
111 out <<
"C=" << fDAC[2] <<
" ";
112 out <<
"D=" << fDAC[3] <<
" ";
113 out <<
"H=" << fDAC[4] <<
" ";
121 out <<
"General settings: ";
142 out <<
"TriggerSequence: ";
144 out << ((fTriggerSequence>> 5)&0x1f) <<
":";
145 out << ((fTriggerSequence>>10)&0x1f) <<
" (LPint:LPext:PED)" << endl;
150 out <<
"Trigger delay: " <<
fDelayTrigger*4+8 <<
"ns" << endl;
152 out <<
"Dead time: " <<
fDeadTime*4+8 <<
"ns" << endl;
165 out <<
"Clock conditioner:";
166 out << std::hex << setfill(
'0');
167 for (
int i=0;
i<8;
i++)
170 out <<
"Active FTUs: ";
172 out << fActiveFTU[1] <<
" ";
173 out << fActiveFTU[2] <<
" ";
174 out << fActiveFTU[3] << endl;
177 for (
int c=0; c<4; c++)
178 for (
int b=0; b<10; b++)
180 out <<
' ' << c <<
':' << std::setfill(
'0') << std::setw(2) << b <<
": ";
188 out <<
"ERROR: Num Calls = " <<
fNumCalls;
190 out <<
" (too many)";
192 out <<
" Delimiter = " << (
fDelimiter==
'@'?
"ok":
"wrong") << endl;
204 out <<
" FirmwareId = " << hex <<
fFirmwareId << endl;
205 out <<
" Command = " << hex <<
fCommand << endl;
208 out <<
" Data: " << Converter::GetHex<unsigned short>(
fData, 0,
false) << endl;
void print(std::ostream &out) const
void print(std::ostream &out) const
Static (configuration) data.
FTM and FTUs are being reconfigured.
void print(std::ostream &out) const
void print(std::ostream &out) const
void print(std::ostream &out) const
Local extension to identify a header in fCounter.
FTU list (answer of ping)
void print(std::ostream &out) const
A requested register value.
Trigger output disabled, configuration possible.
void print(std::ostream &out) const
Trigger output enabled, configuration ignored.
Error list (error when FTU communication failed)