ATLAS Offline Software
v40_FullEventFragment.h
Go to the documentation of this file.
1 //Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 
19 #ifndef OFFLINE_EFORMAT_V40_FULLEVENTFRAGMENT_H
20 #define OFFLINE_EFORMAT_V40_FULLEVENTFRAGMENT_H
21 
22 #include <vector>
23 
24 #include "v40_Header.h"
25 #include "v40_ROBFragment.h"
26 #include "eformat/Problem.h"
27 #include "eformat/blob.h"
28 
29 namespace offline_eformat { namespace v40 {
30 
35  class FullEventFragment : public Header {
36 
37  public: //interface
38 
45  FullEventFragment (const uint32_t* it);
46 
51 
58 
67  FullEventFragment (const eformat::helper::u32list& blob);
68 
77  FullEventFragment (const eformat::helper::u32slice& blob);
78 
82  virtual ~FullEventFragment();
83 
90 
97 
102  bool check_impl
103  (const uint16_t version=eformat::MAJOR_V40_VERSION,
104  bool exc=true) const;
105 
109  bool check (const uint16_t version=eformat::MAJOR_V40_VERSION) const;
110 
114  bool check_noex (const uint16_t version=eformat::MAJOR_V40_VERSION) const;
115 
120  bool check_tree_impl
121  (const uint16_t version=eformat::MAJOR_V40_VERSION,
122  const uint16_t rod_version=eformat::MAJOR_V31_VERSION,
123  const bool exc=true) const;
124 
128  bool check_tree (const uint16_t version=eformat::MAJOR_V40_VERSION,
129  const uint16_t rod_version=eformat::MAJOR_V31_VERSION) const;
130 
135  bool check_tree_noex (const uint16_t version=eformat::MAJOR_V40_VERSION,
136  const uint16_t rod_version=eformat::MAJOR_V31_VERSION) const;
137 
141  void problems (std::vector<eformat::FragmentProblem>& p,
142  const uint16_t version=eformat::MAJOR_V40_VERSION) const;
143 
147  void problems_tree (std::vector<eformat::helper::ProblemContainer>& p,
148  const uint16_t version=eformat::MAJOR_V40_VERSION,
149  const uint16_t rod_version=eformat::MAJOR_V31_VERSION)
150  const;
151 
155  void robs (std::vector<ROBFragment>& robs) const;
156 
160  void robs (std::vector<ROBFragment>& good, std::vector<ROBFragment>& bad,
161  const uint16_t version=eformat::MAJOR_V40_VERSION,
162  const uint16_t rod_version=eformat::MAJOR_V31_VERSION) const;
163 
168  uint32_t bc_time_seconds() const;
169 
175 
179  uint32_t global_id() const;
180 
184  uint32_t run_type() const;
185 
189  uint32_t run_no() const;
190 
194  uint16_t lumi_block() const;
195 
199  uint32_t lvl1_id() const;
200 
204  uint16_t bc_id() const;
205 
209  uint8_t lvl1_trigger_type() const;
210 
215 
221  const uint32_t* lvl1_trigger_info() const;
222  inline void lvl1_trigger_info (const uint32_t*& it) const //legacy
223  { it = lvl1_trigger_info(); }
224 
229 
235  const uint32_t* lvl2_trigger_info() const;
236  inline void lvl2_trigger_info (const uint32_t*& it) const //legacy
237  { it = lvl2_trigger_info(); }
238 
242  uint32_t nevent_filter_info () const;
243 
249  const uint32_t* event_filter_info() const;
250  inline void event_filter_info (const uint32_t*& it) const //legacy
251  { it = event_filter_info(); }
252 
256  uint32_t nstream_tag () const;
257 
263  const uint32_t* stream_tag() const;
264  inline void stream_tag (const uint32_t*& it) const //legacy
265  { it = stream_tag(); }
266 
270  virtual uint32_t nchildren () const;
271 
280  const uint32_t* child(size_t n) const;
281  virtual inline void child (const uint32_t*& p, size_t n) const //legacy
282  { p = child(n); }
283 
295  const uint32_t* child_check(size_t n) const;
296  virtual inline void child_check (const uint32_t*& p, size_t n) const
297  { p = child_check(n); } //legacy
298 
309  virtual uint32_t children (const uint32_t** p, size_t max) const;
310 
311  private: //representation
312 
313  const uint32_t* m_start;
314 
315  };
316 
317 }}
318 
319 #endif /* OFFLINE_EFORMAT_V40_FULLEVENTFRAGMENT_H */
bad
@ bad
Definition: SUSYToolsTester.cxx:100
offline_eformat::v40::FullEventFragment::~FullEventFragment
virtual ~FullEventFragment()
Destructor virtualisation.
Definition: v40_FullEventFragment.cxx:51
offline_eformat::v40::FullEventFragment::check_tree
bool check_tree(const uint16_t version=eformat::MAJOR_V40_VERSION, const uint16_t rod_version=eformat::MAJOR_V31_VERSION) const
Says if the Fragment and all children are valid.
Definition: v40_FullEventFragment.cxx:186
offline_eformat::v40::FullEventFragment::robs
void robs(std::vector< ROBFragment > &robs) const
Retrieves a vector of all ROBs from this fragment.
Definition: v40_FullEventFragment.cxx:243
offline_eformat::v40::FullEventFragment::problems_tree
void problems_tree(std::vector< eformat::helper::ProblemContainer > &p, const uint16_t version=eformat::MAJOR_V40_VERSION, const uint16_t rod_version=eformat::MAJOR_V31_VERSION) const
Tells which problems the current fragment and all the children have.
Definition: v40_FullEventFragment.cxx:216
offline_eformat::v40::Header::version
uint32_t version() const
Returns the formatting version.
Definition: v40_Header.cxx:57
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:557
offline_eformat::v40::FullEventFragment::assign
FullEventFragment & assign(const uint32_t *it)
Manual re-assignment.
Definition: v40_FullEventFragment.cxx:66
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
offline_eformat::v40::FullEventFragment::child
const uint32_t * child(size_t n) const
Returns the nth child fragment.
Definition: v40_FullEventFragment.cxx:274
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
offline_eformat::v40::FullEventFragment::check_tree_noex
bool check_tree_noex(const uint16_t version=eformat::MAJOR_V40_VERSION, const uint16_t rod_version=eformat::MAJOR_V31_VERSION) const
Says if the Fragment, all children and all RODs are valid, without throwing exceptions.
Definition: v40_FullEventFragment.cxx:193
offline_eformat::v40::FullEventFragment::lvl2_trigger_info
const uint32_t * lvl2_trigger_info() const
Returns an iterator to the first of the LVL2 trigger info words.
Definition: v40_FullEventFragment.cxx:78
skel.it
it
Definition: skel.GENtoEVGEN.py:396
offline_eformat
Definition: util.h:19
offline_eformat::v40::FullEventFragment::FullEventFragment
FullEventFragment()
Builds an empty, otherwise useless FullEventFragment.
Definition: v40_FullEventFragment.cxx:24
v40_Header.h
offline_eformat::v40::FullEventFragment::check_tree_impl
bool check_tree_impl(const uint16_t version=eformat::MAJOR_V40_VERSION, const uint16_t rod_version=eformat::MAJOR_V31_VERSION, const bool exc=true) const
Says if the Fragment and all children are valid.
Definition: v40_FullEventFragment.cxx:147
offline_eformat::v40::Header
Contains the information on the Header of a fragment as described by the original note.
Definition: v40_Header.h:37
offline_eformat::v40::FullEventFragment::nstream_tag
uint32_t nstream_tag() const
Returns the number of stream tag words.
Definition: v40_FullEventFragment.cxx:355
offline_eformat::v40::FullEventFragment::stream_tag
void stream_tag(const uint32_t *&it) const
Definition: v40_FullEventFragment.h:264
offline_eformat::v40::FullEventFragment::run_no
uint32_t run_no() const
Returns the run number.
Definition: v40_FullEventFragment.cxx:315
offline_eformat::v40::FullEventFragment::child
virtual void child(const uint32_t *&p, size_t n) const
Definition: v40_FullEventFragment.h:281
offline_eformat::v40::FullEventFragment::m_start
const uint32_t * m_start
my start word
Definition: v40_FullEventFragment.h:313
offline_eformat::v40::FullEventFragment::nevent_filter_info
uint32_t nevent_filter_info() const
Returns the number of Event Filter words.
Definition: v40_FullEventFragment.cxx:350
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
offline_eformat::v40::FullEventFragment::problems
void problems(std::vector< eformat::FragmentProblem > &p, const uint16_t version=eformat::MAJOR_V40_VERSION) const
Tells which problems the current fragment has.
Definition: v40_FullEventFragment.cxx:201
offline_eformat::v40::FullEventFragment::check_noex
bool check_noex(const uint16_t version=eformat::MAJOR_V40_VERSION) const
Says if the the fragment is valid.
Definition: v40_FullEventFragment.cxx:140
offline_eformat::v40::FullEventFragment::global_id
uint32_t global_id() const
Returns the global identifier.
Definition: v40_FullEventFragment.cxx:305
beamspotman.n
n
Definition: beamspotman.py:731
offline_eformat::v40::FullEventFragment::lvl2_trigger_info
void lvl2_trigger_info(const uint32_t *&it) const
Definition: v40_FullEventFragment.h:236
offline_eformat::v40::FullEventFragment::lvl1_trigger_type
uint8_t lvl1_trigger_type() const
Returns the lvl1 trigger type.
Definition: v40_FullEventFragment.cxx:335
v40_ROBFragment.h
offline_eformat::v40::FullEventFragment::bc_time_seconds
uint32_t bc_time_seconds() const
Returns amount of seconds since the (unix) origin, for the bunch crossing time.
Definition: v40_FullEventFragment.cxx:295
offline_eformat::v40::FullEventFragment::nchildren
virtual uint32_t nchildren() const
Returns the number of children available.
Definition: v40_FullEventFragment.cxx:269
offline_eformat::v40::FullEventFragment::check_impl
bool check_impl(const uint16_t version=eformat::MAJOR_V40_VERSION, bool exc=true) const
Says if the the fragment is valid.
Definition: v40_FullEventFragment.cxx:97
offline_eformat::v40::FullEventFragment::nlvl1_trigger_info
uint32_t nlvl1_trigger_info() const
Returns the number of lvl1 trigger info words.
Definition: v40_FullEventFragment.cxx:340
offline_eformat::v40::FullEventFragment::lvl1_trigger_info
void lvl1_trigger_info(const uint32_t *&it) const
Definition: v40_FullEventFragment.h:222
offline_eformat::v40::FullEventFragment::check
bool check(const uint16_t version=eformat::MAJOR_V40_VERSION) const
Says if the the fragment is valid.
Definition: v40_FullEventFragment.cxx:135
offline_eformat::v40::FullEventFragment::bc_id
uint16_t bc_id() const
Returns the bunch crossing identifier.
Definition: v40_FullEventFragment.cxx:330
offline_eformat::v40::FullEventFragment::event_filter_info
void event_filter_info(const uint32_t *&it) const
Definition: v40_FullEventFragment.h:250
offline_eformat::v40::FullEventFragment::nlvl2_trigger_info
uint32_t nlvl2_trigger_info() const
Returns the number of lvl2 trigger info words.
Definition: v40_FullEventFragment.cxx:345
offline_eformat::v40::FullEventFragment::child_check
virtual void child_check(const uint32_t *&p, size_t n) const
Definition: v40_FullEventFragment.h:296
offline_eformat::v40::FullEventFragment::operator=
FullEventFragment & operator=(const FullEventFragment &other)
Copy operator.
Definition: v40_FullEventFragment.cxx:56
ReadBchFromCool.good
good
Definition: ReadBchFromCool.py:433
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
offline_eformat::v40::FullEventFragment::bc_time_nanoseconds
uint32_t bc_time_nanoseconds() const
Returns amount of nanoseconds aditionally to the amount of seconds returned by bc_time_seconds,...
Definition: v40_FullEventFragment.cxx:300
offline_eformat::v40::FullEventFragment::run_type
uint32_t run_type() const
Returns the run type.
Definition: v40_FullEventFragment.cxx:310
offline_eformat::v40::FullEventFragment::children
virtual uint32_t children(const uint32_t **p, size_t max) const
Returns all the children of this fragment.
Definition: v40_FullEventFragment.cxx:288
offline_eformat::v40::FullEventFragment::child_check
const uint32_t * child_check(size_t n) const
Returns the nth child fragment.
Definition: v40_FullEventFragment.cxx:281
offline_eformat::v40::FullEventFragment
Describes how to access the contents of an event fragment, as prescribed by the event format note.
Definition: v40_FullEventFragment.h:35
offline_eformat::v40::FullEventFragment::event_filter_info
const uint32_t * event_filter_info() const
Returns an iterator to the first of the EF info words.
Definition: v40_FullEventFragment.cxx:83
offline_eformat::v40::FullEventFragment::lvl1_trigger_info
const uint32_t * lvl1_trigger_info() const
Returns an iterator to the first of the LVL1 trigger info words.
Definition: v40_FullEventFragment.cxx:73
offline_eformat::v40::FullEventFragment::lumi_block
uint16_t lumi_block() const
Returns the luminosity block number.
Definition: v40_FullEventFragment.cxx:320
CaloCondBlobAlgs_fillNoiseFromASCII.blob
blob
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:96
offline_eformat::v40::FullEventFragment::lvl1_id
uint32_t lvl1_id() const
Returns the lvl1 identifier.
Definition: v40_FullEventFragment.cxx:325
offline_eformat::v40::FullEventFragment::stream_tag
const uint32_t * stream_tag() const
Returns an iterator to the first of the stream tag words.
Definition: v40_FullEventFragment.cxx:88