ATLAS Offline Software
|
Describes how to access the contents of an event fragment, as prescribed by the event format note. More...
#include <v40_FullEventFragment.h>
Public Member Functions | |
FullEventFragment (const uint32_t *it) | |
To build a fragment given the containing buffer. More... | |
FullEventFragment () | |
Builds an empty, otherwise useless FullEventFragment. More... | |
FullEventFragment (const FullEventFragment &other) | |
Copy constructor. More... | |
FullEventFragment (const eformat::helper::u32list &blob) | |
Constructor that only works with T=<real pointer>. More... | |
FullEventFragment (const eformat::helper::u32slice &blob) | |
Constructor that only works with T=<real pointer>. More... | |
virtual | ~FullEventFragment () |
Destructor virtualisation. More... | |
FullEventFragment & | operator= (const FullEventFragment &other) |
Copy operator. More... | |
FullEventFragment & | assign (const uint32_t *it) |
Manual re-assignment. More... | |
bool | check_impl (const uint16_t version=eformat::MAJOR_V40_VERSION, bool exc=true) const |
Says if the the fragment is valid. More... | |
bool | check (const uint16_t version=eformat::MAJOR_V40_VERSION) const |
Says if the the fragment is valid. More... | |
bool | check_noex (const uint16_t version=eformat::MAJOR_V40_VERSION) const |
Says if the the fragment is valid. More... | |
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. More... | |
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. More... | |
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. More... | |
void | problems (std::vector< eformat::FragmentProblem > &p, const uint16_t version=eformat::MAJOR_V40_VERSION) const |
Tells which problems the current fragment has. More... | |
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. More... | |
void | robs (std::vector< ROBFragment > &robs) const |
Retrieves a vector of all ROBs from this fragment. More... | |
void | robs (std::vector< ROBFragment > &good, std::vector< ROBFragment > &bad, const uint16_t version=eformat::MAJOR_V40_VERSION, const uint16_t rod_version=eformat::MAJOR_V31_VERSION) const |
Retrieves vectors of good and bad ROBs from this fragment, separated. More... | |
uint32_t | bc_time_seconds () const |
Returns amount of seconds since the (unix) origin, for the bunch crossing time. More... | |
uint32_t | bc_time_nanoseconds () const |
Returns amount of nanoseconds aditionally to the amount of seconds returned by bc_time_seconds, for the bunch crossing time. More... | |
uint32_t | global_id () const |
Returns the global identifier. More... | |
uint32_t | run_type () const |
Returns the run type. More... | |
uint32_t | run_no () const |
Returns the run number. More... | |
uint16_t | lumi_block () const |
Returns the luminosity block number. More... | |
uint32_t | lvl1_id () const |
Returns the lvl1 identifier. More... | |
uint16_t | bc_id () const |
Returns the bunch crossing identifier. More... | |
uint8_t | lvl1_trigger_type () const |
Returns the lvl1 trigger type. More... | |
uint32_t | nlvl1_trigger_info () const |
Returns the number of lvl1 trigger info words. More... | |
const uint32_t * | lvl1_trigger_info () const |
Returns an iterator to the first of the LVL1 trigger info words. More... | |
void | lvl1_trigger_info (const uint32_t *&it) const |
uint32_t | nlvl2_trigger_info () const |
Returns the number of lvl2 trigger info words. More... | |
const uint32_t * | lvl2_trigger_info () const |
Returns an iterator to the first of the LVL2 trigger info words. More... | |
void | lvl2_trigger_info (const uint32_t *&it) const |
uint32_t | nevent_filter_info () const |
Returns the number of Event Filter words. More... | |
const uint32_t * | event_filter_info () const |
Returns an iterator to the first of the EF info words. More... | |
void | event_filter_info (const uint32_t *&it) const |
uint32_t | nstream_tag () const |
Returns the number of stream tag words. More... | |
const uint32_t * | stream_tag () const |
Returns an iterator to the first of the stream tag words. More... | |
void | stream_tag (const uint32_t *&it) const |
virtual uint32_t | nchildren () const |
Returns the number of children available. More... | |
const uint32_t * | child (size_t n) const |
Returns the nth child fragment. More... | |
virtual void | child (const uint32_t *&p, size_t n) const |
const uint32_t * | child_check (size_t n) const |
Returns the nth child fragment. More... | |
virtual void | child_check (const uint32_t *&p, size_t n) const |
virtual uint32_t | children (const uint32_t **p, size_t max) const |
Returns all the children of this fragment. More... | |
void | throws (bool b) |
If you set this parameter, objects of this type will throw exceptions. More... | |
bool | throws () const |
Says if we are supposed to throw exceptions or not. More... | |
uint32_t | marker () const |
Returns the fragment type. More... | |
uint32_t | fragment_size_word () const |
Returns the size, in words, of the current fragment. More... | |
uint32_t | header_size_word () const |
Returns the size, in words, of the current header. More... | |
uint32_t | version () const |
Returns the formatting version. More... | |
uint32_t | source_id () const |
Returns the full source identifier. More... | |
uint32_t | nstatus () const |
Returns the number of status words available. More... | |
const uint32_t * | start () const |
Sets the pointer to my start. More... | |
void | start (const uint32_t *&it) const |
const uint32_t * | payload () const |
Sets the pointer to where the payload starts. More... | |
void | payload (const uint32_t *&it) const |
const uint32_t * | end () const |
Sets the pointer to one-past my end position. More... | |
void | end (const uint32_t *&it) const |
uint32_t | payload_size_word (void) const |
Returns the payload size. More... | |
const uint32_t * | status () const |
Returns the status words, as an iterator to the status words available. More... | |
void | status (const uint32_t *&it) const |
uint32_t | checksum_type () const |
Returns the check-sum type entry. More... | |
uint32_t | nspecific () const |
Returns the number of specific words available in the specific header part. More... | |
const uint32_t * | specific_header () const |
Returns an iterator to the start of the specific header part. More... | |
void | specific_header (const uint32_t *&it) const |
uint32_t | checksum_value (void) const |
Access the check sum value of this fragment, if any. More... | |
uint32_t | eval_checksum (void) const |
Evaluates the current (supposed) checksum for this fragment, taking into consideration the current setting for the checksum type. More... | |
bool | checksum (void) const |
This will actually re-calculate the checksum and verify that the payload of the current fragment matches that. More... | |
Private Attributes | |
const uint32_t * | m_start |
my start word More... | |
const uint32_t * | m_top |
< representation More... | |
Describes how to access the contents of an event fragment, as prescribed by the event format note.
Definition at line 35 of file v40_FullEventFragment.h.
offline_eformat::v40::FullEventFragment::FullEventFragment | ( | const uint32_t * | it | ) |
To build a fragment given the containing buffer.
I need to know where the fragment starts in order to do that.
it | The exact position where this fragment should start. |
Definition at line 17 of file v40_FullEventFragment.cxx.
offline_eformat::v40::FullEventFragment::FullEventFragment | ( | ) |
Builds an empty, otherwise useless FullEventFragment.
Definition at line 24 of file v40_FullEventFragment.cxx.
offline_eformat::v40::FullEventFragment::FullEventFragment | ( | const FullEventFragment & | other | ) |
offline_eformat::v40::FullEventFragment::FullEventFragment | ( | const eformat::helper::u32list & | blob | ) |
Constructor that only works with T=<real pointer>.
This constructor is pretty much like the one with the pointer, but it will fetch the pointer from the u32 blob. It is only used in the python bindings.
blob | The blob which contains the block of data this fragment is in. |
Definition at line 35 of file v40_FullEventFragment.cxx.
offline_eformat::v40::FullEventFragment::FullEventFragment | ( | const eformat::helper::u32slice & | blob | ) |
Constructor that only works with T=<real pointer>.
This constructor is pretty much like the one with the pointer, but it will fetch the pointer from the u32 blob. It is only used in the python bindings.
blob | The blob which contains the block of data this fragment is in. |
Definition at line 43 of file v40_FullEventFragment.cxx.
|
virtual |
offline_eformat::v40::FullEventFragment & offline_eformat::v40::FullEventFragment::assign | ( | const uint32_t * | it | ) |
Manual re-assignment.
it | The position pointing the first word of this fragment |
Definition at line 65 of file v40_FullEventFragment.cxx.
uint16_t offline_eformat::v40::FullEventFragment::bc_id | ( | ) | const |
Returns the bunch crossing identifier.
Definition at line 330 of file v40_FullEventFragment.cxx.
uint32_t offline_eformat::v40::FullEventFragment::bc_time_nanoseconds | ( | ) | const |
Returns amount of nanoseconds aditionally to the amount of seconds returned by bc_time_seconds, for the bunch crossing time.
Definition at line 300 of file v40_FullEventFragment.cxx.
uint32_t offline_eformat::v40::FullEventFragment::bc_time_seconds | ( | ) | const |
Returns amount of seconds since the (unix) origin, for the bunch crossing time.
Definition at line 295 of file v40_FullEventFragment.cxx.
bool offline_eformat::v40::FullEventFragment::check | ( | const uint16_t | version = eformat::MAJOR_V40_VERSION | ) | const |
Says if the the fragment is valid.
This method throw exceptions.
Definition at line 135 of file v40_FullEventFragment.cxx.
bool offline_eformat::v40::FullEventFragment::check_impl | ( | const uint16_t | version = eformat::MAJOR_V40_VERSION , |
bool | exc = true |
||
) | const |
Says if the the fragment is valid.
You can control the exception behaviour.
Definition at line 96 of file v40_FullEventFragment.cxx.
bool offline_eformat::v40::FullEventFragment::check_noex | ( | const uint16_t | version = eformat::MAJOR_V40_VERSION | ) | const |
Says if the the fragment is valid.
This does NOT throw exceptions.
Definition at line 140 of file v40_FullEventFragment.cxx.
bool offline_eformat::v40::FullEventFragment::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.
This throws exceptions.
Definition at line 186 of file v40_FullEventFragment.cxx.
bool offline_eformat::v40::FullEventFragment::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.
You can control the exception behaviour.
Definition at line 146 of file v40_FullEventFragment.cxx.
bool offline_eformat::v40::FullEventFragment::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 at line 193 of file v40_FullEventFragment.cxx.
|
inherited |
This will actually re-calculate the checksum and verify that the payload of the current fragment matches that.
Only works with contiguous memory templates.
Definition at line 128 of file v40_Header.cxx.
|
inherited |
Returns the check-sum type entry.
Definition at line 97 of file v40_Header.cxx.
|
inherited |
Access the check sum value of this fragment, if any.
Understand that if, checksum_type() resolves to eformat::NO_CHECKSUM, the returned value will have no meaning.
Definition at line 112 of file v40_Header.cxx.
|
inlinevirtual |
Definition at line 281 of file v40_FullEventFragment.h.
const uint32_t * offline_eformat::v40::FullEventFragment::child | ( | size_t | n | ) | const |
Returns the nth child fragment.
If the nth fragment doesn't exist, the behaviour is undefined.
p | A preallocated pointer you should provide. |
n | The fragment position, starting at zero, of the child fragment you would like to get. |
Definition at line 274 of file v40_FullEventFragment.cxx.
|
inlinevirtual |
Definition at line 296 of file v40_FullEventFragment.h.
const uint32_t * offline_eformat::v40::FullEventFragment::child_check | ( | size_t | n | ) | const |
Returns the nth child fragment.
If the nth fragment doesn't exist, an exception is thrown.
p | A preallocated pointer you should provide. |
n | The fragment position, starting at zero, of the child fragment you would like to get. |
Definition at line 281 of file v40_FullEventFragment.cxx.
|
virtual |
Returns all the children of this fragment.
The input to this method is a valid set of iterators to existing, pre-allocated pointers
p | A pointer to a set of preallocated const uint32_t*'s to set to the position of the children of this fragment. |
max | The maximum number of children, p can point to. |
Definition at line 288 of file v40_FullEventFragment.cxx.
|
inherited |
Sets the pointer to one-past my end position.
it | The pointer to set |
Definition at line 82 of file v40_Header.cxx.
|
inlineinherited |
Definition at line 144 of file v40_Header.h.
|
inherited |
Evaluates the current (supposed) checksum for this fragment, taking into consideration the current setting for the checksum type.
Please note this value may be different from the actual checksum_value() if for any reason the fragment is corrupted.
Definition at line 123 of file v40_Header.cxx.
const uint32_t * offline_eformat::v40::FullEventFragment::event_filter_info | ( | ) | const |
Returns an iterator to the first of the EF info words.
it | An updateable iterator you should provide. |
Definition at line 83 of file v40_FullEventFragment.cxx.
|
inline |
Definition at line 250 of file v40_FullEventFragment.h.
|
inherited |
Returns the size, in words, of the current fragment.
Definition at line 47 of file v40_Header.cxx.
uint32_t offline_eformat::v40::FullEventFragment::global_id | ( | ) | const |
Returns the global identifier.
Definition at line 305 of file v40_FullEventFragment.cxx.
|
inherited |
Returns the size, in words, of the current header.
That does include the specific part of the header.
Definition at line 52 of file v40_Header.cxx.
uint16_t offline_eformat::v40::FullEventFragment::lumi_block | ( | ) | const |
Returns the luminosity block number.
Definition at line 320 of file v40_FullEventFragment.cxx.
uint32_t offline_eformat::v40::FullEventFragment::lvl1_id | ( | ) | const |
Returns the lvl1 identifier.
Definition at line 325 of file v40_FullEventFragment.cxx.
const uint32_t * offline_eformat::v40::FullEventFragment::lvl1_trigger_info | ( | ) | const |
Returns an iterator to the first of the LVL1 trigger info words.
it | An updateable iterator you should provide. |
Definition at line 73 of file v40_FullEventFragment.cxx.
|
inline |
Definition at line 222 of file v40_FullEventFragment.h.
uint8_t offline_eformat::v40::FullEventFragment::lvl1_trigger_type | ( | ) | const |
Returns the lvl1 trigger type.
Definition at line 335 of file v40_FullEventFragment.cxx.
const uint32_t * offline_eformat::v40::FullEventFragment::lvl2_trigger_info | ( | ) | const |
Returns an iterator to the first of the LVL2 trigger info words.
it | An updateable iterator you should provide. |
Definition at line 78 of file v40_FullEventFragment.cxx.
|
inline |
Definition at line 236 of file v40_FullEventFragment.h.
|
inherited |
Returns the fragment type.
Definition at line 42 of file v40_Header.cxx.
|
virtual |
Returns the number of children available.
Definition at line 269 of file v40_FullEventFragment.cxx.
uint32_t offline_eformat::v40::FullEventFragment::nevent_filter_info | ( | ) | const |
Returns the number of Event Filter words.
Definition at line 350 of file v40_FullEventFragment.cxx.
uint32_t offline_eformat::v40::FullEventFragment::nlvl1_trigger_info | ( | ) | const |
Returns the number of lvl1 trigger info words.
Definition at line 340 of file v40_FullEventFragment.cxx.
uint32_t offline_eformat::v40::FullEventFragment::nlvl2_trigger_info | ( | ) | const |
Returns the number of lvl2 trigger info words.
Definition at line 345 of file v40_FullEventFragment.cxx.
|
inherited |
Returns the number of specific words available in the specific header part.
Definition at line 102 of file v40_Header.cxx.
|
inherited |
Returns the number of status words available.
Definition at line 67 of file v40_Header.cxx.
uint32_t offline_eformat::v40::FullEventFragment::nstream_tag | ( | ) | const |
offline_eformat::v40::FullEventFragment & offline_eformat::v40::FullEventFragment::operator= | ( | const FullEventFragment & | other | ) |
Copy operator.
other | The fragment to be copied |
Definition at line 55 of file v40_FullEventFragment.cxx.
|
inherited |
Sets the pointer to where the payload starts.
it | The pointer to set |
Definition at line 77 of file v40_Header.cxx.
|
inlineinherited |
Definition at line 136 of file v40_Header.h.
|
inherited |
Returns the payload size.
Definition at line 87 of file v40_Header.cxx.
void offline_eformat::v40::FullEventFragment::problems | ( | std::vector< eformat::FragmentProblem > & | p, |
const uint16_t | version = eformat::MAJOR_V40_VERSION |
||
) | const |
Tells which problems the current fragment has.
Definition at line 200 of file v40_FullEventFragment.cxx.
void offline_eformat::v40::FullEventFragment::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 at line 215 of file v40_FullEventFragment.cxx.
void offline_eformat::v40::FullEventFragment::robs | ( | std::vector< ROBFragment > & | good, |
std::vector< ROBFragment > & | bad, | ||
const uint16_t | version = eformat::MAJOR_V40_VERSION , |
||
const uint16_t | rod_version = eformat::MAJOR_V31_VERSION |
||
) | const |
Retrieves vectors of good and bad ROBs from this fragment, separated.
Definition at line 254 of file v40_FullEventFragment.cxx.
void offline_eformat::v40::FullEventFragment::robs | ( | std::vector< ROBFragment > & | robs | ) | const |
uint32_t offline_eformat::v40::FullEventFragment::run_no | ( | ) | const |
Returns the run number.
Definition at line 315 of file v40_FullEventFragment.cxx.
uint32_t offline_eformat::v40::FullEventFragment::run_type | ( | ) | const |
Returns the run type.
Definition at line 310 of file v40_FullEventFragment.cxx.
|
inherited |
Returns the full source identifier.
Definition at line 62 of file v40_Header.cxx.
|
inherited |
Returns an iterator to the start of the specific header part.
it | An updateable iterator you should provide. |
Definition at line 107 of file v40_Header.cxx.
|
inlineinherited |
Definition at line 176 of file v40_Header.h.
|
inherited |
Sets the pointer to my start.
it | The pointer to set |
Definition at line 72 of file v40_Header.cxx.
|
inlineinherited |
Definition at line 128 of file v40_Header.h.
|
inherited |
Returns the status words, as an iterator to the status words available.
it | An updateable iterator you should provide. |
Definition at line 92 of file v40_Header.cxx.
|
inlineinherited |
Definition at line 157 of file v40_Header.h.
const uint32_t * offline_eformat::v40::FullEventFragment::stream_tag | ( | ) | const |
Returns an iterator to the first of the stream tag words.
it | An updateable iterator you should provide. |
Definition at line 88 of file v40_FullEventFragment.cxx.
|
inline |
Definition at line 264 of file v40_FullEventFragment.h.
|
inherited |
Says if we are supposed to throw exceptions or not.
|
inherited |
If you set this parameter, objects of this type will throw exceptions.
The default behavior is to throw.
|
inherited |
Returns the formatting version.
Definition at line 57 of file v40_Header.cxx.
|
private |
my start word
Definition at line 313 of file v40_FullEventFragment.h.
|
privateinherited |