ATLAS Offline Software
Loading...
Searching...
No Matches
TriggerInfoCnv_p3.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
8
9void TriggerInfoCnv_p3::persToTrans(std::vector<unsigned int>::const_iterator &i, TriggerInfo* trans, bool bugcompat) const{
10 trans->setStatusElement (*i); ++i;
11 trans->setExtendedLevel1ID (*i); ++i;
12 trans->setLevel1TriggerType (*i); ++i;
13
14// std::cout<<"persToTrans of TriggerInfo\t"<<trans->m_level1TriggerType<<std::endl;
15
16 {
17 unsigned int size=(*i); ++i;
18 std::vector<TriggerInfo::number_type> l1info (i, i+size); i += size;
19 trans->setLevel1TriggerInfo (std::move (l1info));
20 }
21
22 {
23 unsigned int size=(*i); ++i;
24 std::vector<TriggerInfo::number_type> l2info (i, i+size); i += size;
25 trans->setLevel2TriggerInfo (std::move (l2info));
26 }
27
28 {
29 unsigned int size=(*i); ++i;
30 std::vector<TriggerInfo::number_type> efinfo (i, i+size); i += size;
31 trans->setEventFilterInfo (std::move (efinfo));
32 }
33
34// std::cout<<"persToTrans of TriggerInfo\t"<<trans->m_eventFilterInfo.size()<<std::endl;
35 {
36 unsigned int size=(*i); ++i;
37 std::vector<std::string> names(size);
38 std::vector<std::string> types(size);
39 for (unsigned int w=0;w<size;w++) {
40 UITostr(names[w],i, bugcompat);
41 UITostr(types[w],i, bugcompat);
42 }
43
44 std::vector<bool> t;
45 UITobitmap(t, i, bugcompat);
46
47 std::vector<TriggerInfo::StreamTag> st;
48 st.reserve (size);
49 for (unsigned int w=0;w<size;w++) {
50 st.emplace_back (std::move(names[w]), std::move(types[w]), t[w]);
51 }
52
53 trans->setStreamTags (std::move (st));
54 }
55}
56
57void TriggerInfoCnv_p3::transToPers(const TriggerInfo* trans, std::vector<unsigned int> &pers) const{
58 pers.push_back(trans->statusElement());
59 pers.push_back(trans->extendedLevel1ID());
60 pers.push_back(trans->level1TriggerType());
61
62 {
63 const std::vector<TriggerInfo::number_type>& l1info =
64 trans->level1TriggerInfo();
65 // std::cout<<"transToPers of TriggerInfo \t"<<trans->m_level1TriggerType<<std::endl;
66 pers.push_back(l1info.size());
67 std::copy (l1info.begin(), l1info.end(), std::back_inserter (pers));
68 }
69
70 {
71 const std::vector<TriggerInfo::number_type>& l2info =
72 trans->level2TriggerInfo();
73 pers.push_back(l2info.size());
74 std::copy (l2info.begin(), l2info.end(), std::back_inserter (pers));
75 }
76
77 {
78 const std::vector<TriggerInfo::number_type>& efinfo =
79 trans->eventFilterInfo();
80 pers.push_back(efinfo.size());
81 std::copy (efinfo.begin(), efinfo.end(), std::back_inserter (pers));
82 }
83
84 {
85 size_t sz = trans->streamTags().size();
86 // std::cout<<"transToPers of TriggerInfo \t"<<trans->m_eventFilterInfo.size()<<std::endl;
87 pers.push_back(sz);
88 std::vector<bool> t; t.reserve(sz);
89 for (unsigned int i = 0; i < sz; ++i) {
90 const TriggerInfo::StreamTag& st = trans->streamTags()[i];
91 strToUI(st.name(), pers);
92 strToUI(st.type(), pers);
93 t.push_back(st.obeysLumiblock());
94 // std::cout<<"transToPers of TriggerInfo "<<trans->m_streamTags[i].m_obeysLumiblock<<std::endl;
95 }
96 bitmapToUI(t, pers);
97 }
98}
99
100
void UITobitmap(std::vector< bool > &n, std::vector< unsigned int >::const_iterator &i, bool bugcompat)
void UITostr(std::string &n, std::vector< unsigned int >::const_iterator &i, bool bugcompat)
Definition vectorize.cxx:29
void bitmapToUI(const std::vector< bool > &m, std::vector< unsigned int > &v)
Definition vectorize.cxx:85
void strToUI(const std::string &m, std::vector< unsigned int > &v)
Definition vectorize.cxx:9
static Double_t sz
static const std::vector< std::string > types
This class contains trigger related information.
void transToPers(const TriggerInfo *transObj, std::vector< unsigned int > &persObj) const
void persToTrans(std::vector< unsigned int >::const_iterator &persObj, TriggerInfo *transObj, bool bugcompat) const
This class contains trigger related information.
Definition TriggerInfo.h:77
void setExtendedLevel1ID(const number_type extendedLevel1ID)
set extended level1 ID
number_type level1TriggerType() const
get level1 trigger type
void setStatusElement(const number_type statusElement)
set status element
void setLevel1TriggerType(const number_type level1TriggerType)
set level1 trigger type
const std::vector< number_type > & eventFilterInfo() const
get event filter trigger info
number_type extendedLevel1ID() const
get extended level1 ID
number_type statusElement() const
get status element
void setStreamTags(const std::vector< StreamTag > &streamTags)
void setLevel2TriggerInfo(const std::vector< number_type > &level2TriggerInfo)
set level2 trigger info
void setLevel1TriggerInfo(const std::vector< number_type > &level1TriggerInfo)
set level1 trigger info
const std::vector< number_type > & level1TriggerInfo() const
get level1 trigger info
const std::vector< StreamTag > & streamTags() const
get stream tags
const std::vector< number_type > & level2TriggerInfo() const
get level2 trigger info
void setEventFilterInfo(const std::vector< number_type > &eventFilterInfo)
set event filter trigger info