File indexing completed on 2025-08-06 08:17:56
0001 #include "DumpTpcRawHitContainer.h"
0002
0003 #include <phool/PHIODataNode.h>
0004
0005 #include <ffarawobjects/TpcRawHit.h>
0006 #include <ffarawobjects/TpcRawHitContainer.h>
0007
0008 #include <ostream>
0009 #include <string>
0010
0011 using MyNode_t = PHIODataNode<TpcRawHitContainer>;
0012
0013 DumpTpcRawHitContainer::DumpTpcRawHitContainer(const std::string &NodeName)
0014 : DumpObject(NodeName)
0015 {
0016 return;
0017 }
0018
0019 int DumpTpcRawHitContainer::process_Node(PHNode *myNode)
0020 {
0021 TpcRawHitContainer *tpcrawhitcontainer = nullptr;
0022 MyNode_t *thisNode = static_cast<MyNode_t *>(myNode);
0023 if (thisNode)
0024 {
0025 tpcrawhitcontainer = thisNode->getData();
0026 }
0027 if (tpcrawhitcontainer)
0028 {
0029 unsigned int nhits = tpcrawhitcontainer->get_nhits();
0030 *fout << "size: " << tpcrawhitcontainer->get_nhits() << std::endl;
0031 for (unsigned int ihit = 0; ihit < nhits; ihit++)
0032 {
0033 TpcRawHit *rawhit = tpcrawhitcontainer->get_hit(ihit);
0034 *fout << "bco: " << rawhit->get_bco() << std::endl;
0035 *fout << "gtm_bco: " << rawhit->get_gtm_bco() << std::endl;
0036 *fout << "packetid: " << rawhit->get_packetid() << std::endl;
0037 *fout << "fee: " << rawhit->get_fee() << std::endl;
0038 *fout << "channel:" << rawhit->get_channel() << std::endl;
0039 *fout << "sampaaddress: " << rawhit->get_sampaaddress() << std::endl;
0040 *fout << "sampachannel: " << rawhit->get_sampachannel() << std::endl;
0041 *fout << "type:" << rawhit->get_type() << std::endl;
0042 *fout << "userword:" << rawhit->get_userword() << std::endl;
0043 *fout << "checksum:" << rawhit->get_checksum() << std::endl;
0044 *fout << "checksumerror:" << rawhit->get_checksumerror() << std::endl;
0045 *fout << "parity:" << rawhit->get_parity() << std::endl;
0046 *fout << "parityerror:" << rawhit->get_parityerror() << std::endl;
0047 auto nsamples = rawhit->get_samples();
0048 *fout << "samples: " << rawhit->get_samples() << std::endl;
0049 for (auto isamp = 0; isamp < nsamples; isamp++)
0050 {
0051 *fout << "adc[" << isamp << "] = " << rawhit->get_adc(isamp) << std::endl;
0052 }
0053 }
0054 }
0055 return 0;
0056 }