Back to home page

sPhenix code displayed by LXR

 
 

    


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);  // NOLINT(cppcoreguidelines-pro-type-static-cast-downcast)
0022   if (thisNode)
0023   {
0024     calopacket = thisNode->getData();
0025   }
0026   if (calopacket)
0027   {
0028     *fout << "packet_nr: " << calopacket->getIdentifier() << std::endl;
0029     // if (calopacket->getIdentifier() != 9002) continue;
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 }