File indexing completed on 2025-08-05 08:16:09
0001 #include "TpcRawHitv2.h"
0002
0003 TpcRawHitv2::TpcRawHitv2(TpcRawHit *tpchit)
0004 {
0005 TpcRawHitv2::set_bco(tpchit->get_bco());
0006 TpcRawHitv2::set_gtm_bco(tpchit->get_gtm_bco());
0007 TpcRawHitv2::set_packetid(tpchit->get_packetid());
0008 TpcRawHitv2::set_fee(tpchit->get_fee());
0009 TpcRawHitv2::set_channel(tpchit->get_channel());
0010 TpcRawHitv2::set_sampaaddress(tpchit->get_sampaaddress());
0011 TpcRawHitv2::set_sampachannel(tpchit->get_sampachannel());
0012 TpcRawHitv2::set_type(tpchit->get_type());
0013 TpcRawHitv2::set_userword(tpchit->get_userword());
0014 TpcRawHitv2::set_checksum(tpchit->get_checksum());
0015 TpcRawHitv2::set_parity(tpchit->get_parity());
0016 TpcRawHitv2::set_checksumerror(tpchit->get_checksumerror());
0017 TpcRawHitv2::set_parityerror(tpchit->get_parityerror());
0018 TpcRawHitv2::set_samples(tpchit->get_samples());
0019
0020 for (size_t i = 0; i < tpchit->get_samples(); ++i)
0021 {
0022 uint16_t adcval = tpchit->get_adc(i);
0023 if (adcval > 0)
0024 {
0025 TpcRawHitv2::set_adc(i, tpchit->get_adc(i));
0026 }
0027 }
0028 }
0029
0030 void TpcRawHitv2::identify(std::ostream &os) const
0031 {
0032 os << "BCO: 0x" << std::hex << bco << std::dec << std::endl;
0033 os << "packet id: " << packetid << std::endl;
0034 }
0035
0036 uint16_t TpcRawHitv2::get_adc(const uint16_t sample) const
0037 {
0038 auto adc = adcmap.find(sample);
0039 if (adc != adcmap.end())
0040 {
0041 return adc->second;
0042 }
0043 return 0;
0044 }
0045
0046 void TpcRawHitv2::Clear(Option_t * )
0047 {
0048 adcmap.clear();
0049 }