File indexing completed on 2025-08-06 08:17:55
0001 #include "DumpCaloPacket.h"
0002
0003 #include <ffarawobjects/CaloPacket.h>
0004
0005 #include <phool/PHIODataNode.h>
0006
0007 #include <ostream>
0008 #include <string>
0009
0010 using MyNode_t = PHIODataNode<CaloPacket>;
0011
0012 DumpCaloPacket::DumpCaloPacket(const std::string &NodeName)
0013 : DumpObject(NodeName)
0014 {
0015 return;
0016 }
0017
0018 int DumpCaloPacket::process_Node(PHNode *myNode)
0019 {
0020 CaloPacket *calopacket = nullptr;
0021 MyNode_t *thisNode = static_cast<MyNode_t *>(myNode);
0022 if (thisNode)
0023 {
0024 calopacket = thisNode->getData();
0025 }
0026 if (calopacket)
0027 {
0028 *fout << "packet_nr: " << calopacket->getIdentifier() << std::endl;
0029
0030 *fout << "EventNr: " << calopacket->iValue(0, "EVTNR") << std::endl;
0031 *fout << "Clock: 0x" << std::hex << calopacket->iValue(0, "CLOCK") << std::dec << std::endl;
0032 *fout << "Modules: " << calopacket->iValue(0, "NRMODULES") << std::endl;
0033 *fout << "Channels: " << calopacket->iValue(0, "CHANNELS") << std::endl;
0034 *fout << "Samples: " << calopacket->iValue(0, "SAMPLES") << std::endl;
0035 *fout << "DetId: 0x" << std::hex << calopacket->iValue(0, "DETID") << std::dec << std::endl;
0036 *fout << "Samples: " << std::hex << calopacket->iValue(0, "MODULEADDRESS") << std::dec << std::endl;
0037 *fout << "EVENCHECKSUMOK: " << calopacket->iValue(0, "EVENCHECKSUMOK") << std::endl;
0038 *fout << "ODDCHECKSUMOK: " << calopacket->iValue(0, "ODDCHECKSUMOK") << std::endl;
0039 for (int k = 0; k < calopacket->iValue(0, "NRMODULES"); k++)
0040 {
0041 *fout << "FEM Slot: " << calopacket->iValue(k, "FEMSLOT") << std::endl;
0042 *fout << "FEM Evt nr: " << calopacket->iValue(k, "FEMEVTNR") << std::endl;
0043 *fout << "FEM Clock: " << calopacket->iValue(k, "FEMCLOCK") << std::endl;
0044 *fout << "FEM Checksum LSB: 0x" << std::hex << calopacket->iValue(k, "CHECKSUMLSB") << std::dec << std::endl;
0045 *fout << "FEM Checksum MSB: 0x" << std::hex << calopacket->iValue(k, "CHECKSUMMSB") << std::dec << std::endl;
0046 }
0047 for (int k = 0; k < calopacket->iValue(0, "CHANNELS"); k++)
0048 {
0049 *fout << "SUPPRESSED: " << calopacket->iValue(k, "SUPPRESSED") << std::endl;
0050 *fout << "PRE: 0x" << std::hex << calopacket->iValue(k, "PRE") << std::dec << std::endl;
0051 *fout << "POST: 0x" << std::hex << calopacket->iValue(k, "POST") << std::dec << std::endl;
0052 for (int j = 0; j < calopacket->iValue(0, "SAMPLES"); j++)
0053 {
0054 *fout << "iValue(" << j << ", " << k << "): " << calopacket->iValue(j, k) << std::endl;
0055 }
0056 }
0057 }
0058 return 0;
0059 }