#include <FullEventFragment.h>
Inheritance diagram for eformat::FullEventFragment< TPointer >:
Public Member Functions | |
Header & | assign (const TPointer &it, uint32_t match) |
FullEventFragment & | assign (const TPointer &it) |
FullEventFragment & | assign (const TPointer &it) |
virtual bool | check () const |
virtual bool | check () const |
bool | check_tree () const |
bool | check_tree () const |
virtual void | child (TPointer &p, size_t n) const |
virtual void | child (TPointer &p, size_t n) const |
virtual void | child_check (TPointer &p, size_t n) const |
virtual void | child_check (TPointer &p, size_t n) const |
virtual uint32_t | children (TPointer *p, size_t max) const |
virtual uint32_t | children (TPointer *p, size_t max) const |
void | end (TPointer &it) const |
void | end (TPointer &it) const |
void | event_filter_info (TPointer &it) const |
void | event_filter_info (TPointer &it) const |
uint32_t | fragment_size_word () const |
uint32_t | fragment_size_word () const |
FullEventFragment (const FullEventFragment &other) | |
FullEventFragment () | |
FullEventFragment (const TPointer &it) | |
FullEventFragment (const FullEventFragment &other) | |
FullEventFragment () | |
FullEventFragment (const TPointer &it) | |
uint32_t | global_id () const |
uint32_t | global_id () const |
uint32_t | header_size_word () const |
uint32_t | header_size_word () const |
uint32_t | lvl1_id () const |
uint32_t | lvl1_id () const |
uint32_t | lvl1_trigger_type () const |
uint32_t | lvl1_trigger_type () const |
uint32_t | lvl2_trigger_info () const |
uint32_t | lvl2_trigger_info () const |
uint32_t | marker () const |
uint32_t | marker () const |
virtual uint32_t | nchildren () const |
virtual uint32_t | nchildren () const |
uint32_t | nevent_filter_info () const |
uint32_t | nevent_filter_info () const |
uint32_t | nspecific () const |
uint32_t | nspecific () const |
uint32_t | nstatus () const |
uint32_t | nstatus () const |
FullEventFragment & | operator= (const FullEventFragment &other) |
FullEventFragment & | operator= (const FullEventFragment &other) |
void | payload (TPointer &it) const |
void | payload (TPointer &it) const |
uint32_t | payload_size_word (void) const |
uint32_t | payload_size_word (void) const |
uint32_t | run_no () const |
uint32_t | run_no () const |
uint32_t | source_id () const |
uint32_t | source_id () const |
void | specific_header (TPointer &it) const |
void | specific_header (TPointer &it) const |
void | start (TPointer &it) const |
void | start (TPointer &it) const |
void | status (TPointer &it) const |
void | status (TPointer &it) const |
uint32_t | time () const |
uint32_t | time () const |
uint32_t | version () const |
uint32_t | version () const |
virtual | ~FullEventFragment () |
virtual | ~FullEventFragment () |
Private Attributes | |
TPointer | m_start |
my start word | |
Static Private Attributes | |
const uint32_t | NSPECIFIC = 10 |
|
To build a fragment given the containing buffer. I need to know where the fragment starts in order to do that.
00150 : eformat::Header<TPointer>(it, eformat::FULL_EVENT), 00151 m_start() 00152 { 00153 specific_header(m_start); 00154 }
|
|
Builds an empty, otherwise useless FullEventFragment 00044 : Header<TPointer>(), m_start() {}
|
|
Copy constructor
|
|
Destructor virtualisation 00057 {}
|
|
To build a fragment given the containing buffer. I need to know where the fragment starts in order to do that.
|
|
Builds an empty, otherwise useless FullEventFragment 00044 : Header<TPointer>(), m_start() {}
|
|
Copy constructor
|
|
Destructor virtualisation 00057 {}
|
|
Reassign this header
00237 { 00238 ERS_DEBUG_3("Rebuilding header 0x%x from iterator", match); 00239 m_start = it; 00240 if (marker() != match) { 00241 throw EFORMAT_WRONG_MARKER(marker(), match); 00242 } 00243 ERS_DEBUG_1("Re-initialized header with source identifier = %s", 00244 eformat::helper::SourceIdentifier(match).human().c_str()); 00245 return *this; 00246 }
|
|
Manual re-assignment
|
|
Manual re-assignment
00158 { 00159 ERS_DEBUG_3("Re-building FullEventFragment from pointer"); 00160 eformat::Header<TPointer>::assign(it, eformat::FULL_EVENT); 00161 specific_header(m_start); 00162 ERS_DEBUG_1("Initialized header with source identifier = %s", 00163 eformat::helper::SourceIdentifier(source_id()).human().c_str()); 00164 return *this; 00165 }
|
|
Says if the the fragment is valid. This may throw exceptions. Reimplemented from eformat::Header< TPointer >. |
|
Says if the the fragment is valid. This may throw exceptions. Reimplemented from eformat::Header< TPointer >. 00177 { 00178 ERS_DEBUG_2("Checking for consistency of FullEventFragment"); 00179 eformat::Header<TPointer>::check(); //< first do a generic check 00180 if (nspecific() != NSPECIFIC) { 00181 throw EFORMAT_SIZE_CHECK(NSPECIFIC, nspecific()); 00182 } 00183 return true; 00184 }
|
|
Says if the Fragment and all children are valid. |
|
Says if the Fragment and all children are valid. 00188 { 00189 ERS_DEBUG_2("Checking recursively for consistency of FullEventFragment"); 00190 check(); // check myself 00191 uint32_t total = nchildren(); 00192 for (size_t i=0; i<total; ++i) { 00193 TPointer fp; 00194 child(fp, i); 00195 eformat::SubDetectorFragment<TPointer> f(fp); 00196 f.check_tree(); 00197 } 00198 return true; 00199 }
|
|
Returns the nth child fragment. If the nth fragment doesn't exist, the behaviour is undefined.
|
|
Returns the nth child fragment. If the nth fragment doesn't exist, the behaviour is undefined.
00273 { 00274 ERS_DEBUG_2("User asked for child %ud of fragment type %s [%s]", n, 00275 eformat::marker2string(marker()).c_str(), 00276 eformat::helper::SourceIdentifier(source_id()).human().c_str()); 00277 TPointer next; 00278 payload(next); 00279 for (size_t i=0; i<n; ++i) next += next[1]; 00280 ERS_DEBUG_3("Set user object"); 00281 p = next; 00282 }
|
|
Returns the nth child fragment. If the nth fragment doesn't exist, an exception is thrown.
|
|
Returns the nth child fragment. If the nth fragment doesn't exist, an exception is thrown.
00286 { 00287 uint32_t total = nchildren(); 00288 if (n >= total) throw EFORMAT_NO_SUCH_CHILD(n, total); 00289 child(p, n); 00290 }
|
|
Returns all the children of this fragment. The input to this method is a valid set of iterators to existing, pre-allocated pointers
|
|
Returns all the children of this fragment. The input to this method is a valid set of iterators to existing, pre-allocated pointers
00294 { 00295 ERS_DEBUG_2("Retrieving all children..."); 00296 TPointer payload_start; 00297 payload(payload_start); 00298 try { 00299 return find_fragments(child_marker(static_cast<HeaderMarker>(marker())), 00300 payload_start, payload_size_word(), p, max); 00301 } 00302 catch (WrongMarkerIssue& ex) { 00303 //This normally means the fragment size is wrong... 00304 throw EFORMAT_WRONG_SIZE(fragment_size_word()); 00305 } 00306 return 0; 00307 }
|
|
Sets the pointer to one-past my end position
00144 { it = m_start; it += fragment_size_word(); }
|
|
Sets the pointer to one-past my end position
00144 { it = m_start; it += fragment_size_word(); }
|
|
Returns an iterator to the first of the (4) EF words
|
|
Returns an iterator to the first of the (4) EF words
00170 { 00171 it = m_start; 00172 it += 6; 00173 }
|
|
Returns the size, in words, of the current fragment. 00100 { return m_start[1]; }
|
|
Returns the size, in words, of the current fragment. 00100 { return m_start[1]; }
|
|
Returns the global identifier 00095 { return m_start[1]; }
|
|
Returns the global identifier 00095 { return m_start[1]; }
|
|
Returns the size, in words, of the current header. That does include the specific part of the header. 00106 { return m_start[2]; }
|
|
Returns the size, in words, of the current header. That does include the specific part of the header. 00106 { return m_start[2]; }
|
|
Returns the lvl1 identifier 00107 { return m_start[3]; }
|
|
Returns the lvl1 identifier 00107 { return m_start[3]; }
|
|
Retursn the lvl1 trigger type 00113 { return m_start[4]; }
|
|
Retursn the lvl1 trigger type 00113 { return m_start[4]; }
|
|
Returns the lvl2 trigger info 00119 { return m_start[5]; }
|
|
Returns the lvl2 trigger info 00119 { return m_start[5]; }
|
|
Returns the fragment type. 00095 { return m_start[0]; }
|
|
Returns the fragment type. 00095 { return m_start[0]; }
|
|
Returns the number of children available. |
|
Returns the number of children available. 00264 { 00265 ERS_DEBUG_2("User asked for number of children of fragment type %s [%s]", 00266 eformat::marker2string(marker()).c_str(), 00267 eformat::helper::SourceIdentifier(source_id()).human().c_str()); 00268 return children(0,0); 00269 }
|
|
Returns the number of Event Filter words (constant = 4) 00124 { return 4; }
|
|
Returns the number of Event Filter words (constant = 4) 00124 { return 4; }
|
|
Returns the number of specific words available in the specific header part
|
|
Returns the number of specific words available in the specific header part
|
|
Returns the number of status words available 00121 { return m_start[5]; }
|
|
Returns the number of status words available 00121 { return m_start[5]; }
|
|
Copy operator
00065 { Header<TPointer>::operator=(other); m_start=other.m_start; return *this; }
|
|
Copy operator
00065 { Header<TPointer>::operator=(other); m_start=other.m_start; return *this; }
|
|
Sets the pointer to where the payload starts
00136 { it = m_start; it+= header_size_word(); }
|
|
Sets the pointer to where the payload starts
00136 { it = m_start; it+= header_size_word(); }
|
|
Returns the payload size 00150 { return fragment_size_word() - header_size_word(); }
|
|
Returns the payload size 00150 { return fragment_size_word() - header_size_word(); }
|
|
Returns the run number 00101 { return m_start[2]; }
|
|
Returns the run number 00101 { return m_start[2]; }
|
|
Returns the full source identifier. 00116 { return m_start[4]; }
|
|
Returns the full source identifier. 00116 { return m_start[4]; }
|
|
Returns an iterator to the start of the specific header part (this does not include the number of specific header fragments)
00173 { it = m_start; it += 7 + nstatus(); }
|
|
Returns an iterator to the start of the specific header part (this does not include the number of specific header fragments)
00173 { it = m_start; it += 7 + nstatus(); }
|
|
Sets the pointer to my start
00128 { it = m_start; }
|
|
Sets the pointer to my start
00128 { it = m_start; }
|
|
Returns the status words, as an iterator to the status words available.
00157 { it = m_start; it += 6; }
|
|
Returns the status words, as an iterator to the status words available.
00157 { it = m_start; it += 6; }
|
|
Returns the date, in seconds elapsed since the 1st. January, 1970. The timezone is fixed to UTC. 00089 { return m_start[0]; }
|
|
Returns the date, in seconds elapsed since the 1st. January, 1970. The timezone is fixed to UTC. 00089 { return m_start[0]; }
|
|
Returns the formatting version. 00111 { return m_start[3]; }
|
|
Returns the formatting version. 00111 { return m_start[3]; }
|
|
my start word
Reimplemented from eformat::Header< TPointer >. |
|
|