|
ATLAS Offline Software
|
Go to the documentation of this file.
14 #include "eformat/HeaderMarker.h"
15 #include "eformat/util.h"
36 (
const eformat::helper::u32list&
blob)
44 (
const eformat::helper::u32slice&
blob)
80 return m_start + 11 + nlvl1_trigger_info();
85 return m_start + 12 + nlvl1_trigger_info() + nlvl2_trigger_info();
90 return m_start + 13 + nlvl1_trigger_info() + nlvl2_trigger_info() +
107 throw EFORMAT_WRONG_MARKER(
marker(), eformat::FULL_EVENT);
115 nlvl1_trigger_info() + nlvl2_trigger_info() + nevent_filter_info() +
120 }
catch(eformat::WrongMarkerIssue &ex){
123 }
catch(eformat::BadVersionIssue &ex){
126 }
catch(eformat::SizeCheckIssue &ex){
137 return this->check_impl(
version,
true);
142 return this->check_impl(
version,
false);
151 if (!check_impl(
version, exc))
return false;
153 for (
size_t i=0;
i<total; ++
i) {
159 rob_check =
f.check(
version, rod_version);
160 }
catch(eformat::RODSizeCheckIssue &ex){
164 }
catch(eformat::WrongMarkerIssue &ex){
167 }
catch(eformat::BadVersionIssue &ex){
170 }
catch(eformat::SizeCheckIssue &ex){
173 }
catch(eformat::BadRodVersionIssue &ex){
181 if (!rob_check)
return false;
190 return this->check_tree_impl(
version, rod_version,
true);
197 return this->check_tree_impl(
version, rod_version,
false);
204 p.push_back(eformat::WRONG_MARKER);
206 p.push_back(eformat::UNSUPPORTED_VERSION);
208 nlvl1_trigger_info() + nlvl2_trigger_info() + nevent_filter_info() +
211 p.push_back(eformat::WRONG_FRAGMENT_SIZE);
216 (std::vector<eformat::helper::ProblemContainer>&
p,
221 std::vector<eformat::FragmentProblem>
tmp;
225 eformat::helper::ProblemContainer
pc(this->source_id(),
tmp);
231 for (
size_t i=0;
i<total; ++
i) {
235 std::vector<eformat::FragmentProblem>
tmp;
237 eformat::helper::ProblemContainer
pc(
f.source_id(),
tmp);
243 (std::vector<ROBFragment>&
r)
const
247 for (
size_t i=0;
i<total; ++
i) {
255 (std::vector<ROBFragment>&
good,
256 std::vector<ROBFragment>&
bad,
260 for (
size_t i=0;
i<total; ++
i) {
265 else bad.push_back(
f);
284 if (
n >= total)
throw EFORMAT_NO_SUCH_CHILD(
n, total);
347 return m_start[10+nlvl1_trigger_info()];
352 return m_start[11+nlvl1_trigger_info()+nlvl2_trigger_info()];
357 return m_start[12+nlvl1_trigger_info() +
358 nlvl2_trigger_info() + nevent_filter_info()];