File indexing completed on 2025-08-06 08:17:15
0001 #include "MvtxRawEvtHeaderv2.h"
0002
0003 #include "MvtxFeeIdInfov1.h"
0004
0005 #include <TClonesArray.h>
0006
0007 static const uint8_t NMVTXFEEID = 48 * 3;
0008
0009 MvtxRawEvtHeaderv2::MvtxRawEvtHeaderv2()
0010 : m_MvtxFeeIdInfoTCArray(new TClonesArray("MvtxFeeIdInfov1", NMVTXFEEID))
0011 {
0012 }
0013
0014 MvtxRawEvtHeaderv2::~MvtxRawEvtHeaderv2()
0015 {
0016 delete m_MvtxFeeIdInfoTCArray;
0017 }
0018
0019 void MvtxRawEvtHeaderv2::Reset()
0020 {
0021 m_MvtxL1TrgSet.clear();
0022 m_MvtxFeeIdInfoTCArray->Clear();
0023 m_MvtxFeeIdInfoTCArray->Expand(NMVTXFEEID);
0024 }
0025
0026 void MvtxRawEvtHeaderv2::identify(std::ostream &os) const
0027 {
0028 os << "MvtxRawEvtHeaderv2" << std::endl;
0029 os << "Feeids in the event: " << m_MvtxFeeIdInfoTCArray->GetEntriesFast() << std::endl;
0030 os << "Mvtx L1 triggers in the event: " << m_MvtxL1TrgSet.size() << std::endl;
0031 }
0032
0033 int MvtxRawEvtHeaderv2::isValid() const
0034 {
0035 return (!m_MvtxL1TrgSet.empty() || m_MvtxFeeIdInfoTCArray->GetEntriesFast());
0036 }
0037
0038 MvtxFeeIdInfo *MvtxRawEvtHeaderv2::AddFeeIdInfo()
0039 {
0040 MvtxFeeIdInfo *newFeeIdInfo = new ((*m_MvtxFeeIdInfoTCArray)[m_MvtxFeeIdInfoTCArray->GetLast() + 1]) MvtxFeeIdInfov1();
0041 return newFeeIdInfo;
0042 }
0043
0044 MvtxFeeIdInfo *MvtxRawEvtHeaderv2::AddFeeIdInfo(MvtxFeeIdInfo *feeIdInfo)
0045 {
0046 MvtxFeeIdInfo *newFeeIdInfo = new ((*m_MvtxFeeIdInfoTCArray)[m_MvtxFeeIdInfoTCArray->GetLast() + 1]) MvtxFeeIdInfov1(feeIdInfo);
0047 return newFeeIdInfo;
0048 }
0049
0050 uint64_t MvtxRawEvtHeaderv2::get_nFeeIdInfo()
0051 {
0052 return m_MvtxFeeIdInfoTCArray->GetEntriesFast();
0053 }
0054
0055 MvtxFeeIdInfo *MvtxRawEvtHeaderv2::get_feeIdInfo(unsigned int index)
0056 {
0057 return (MvtxFeeIdInfo *) m_MvtxFeeIdInfoTCArray->At(index);
0058 }
0059
0060 void MvtxRawEvtHeaderv2::AddL1Trg(const std::set<uint64_t> &mvtxL1TrgSet)
0061 {
0062 m_MvtxL1TrgSet.insert(mvtxL1TrgSet.cbegin(), mvtxL1TrgSet.cend());
0063 }