ATLAS Offline Software
Loading...
Searching...
No Matches
ROBData_T< ROBFragment, PointerType > Class Template Reference

template data class to wrap ROB fragment for accessing ROD data More...

#include <ROBData.h>

Collaboration diagram for ROBData_T< ROBFragment, PointerType >:

Classes

class  iterator
 This class defines how to iterate over the ROBData_T, in different formats. More...

Public Member Functions

 ROBData_T (const ROBFragment *rob)
 Builds a "high-level" ROB Data object.
 ROBData_T (const ROBData_T &other)
 Copy Constructor.
 ROBData_T ()
 Default Constructor.
iterator begin () const
 Instantiates an iterator over 32-bit integers to the first element.
iterator end () const
 Instantiates an iterator over 32-bit integers to the last+1 element.
ROBData_Toperator= (const ROBData_T &other)
 Assignment Operator.
eformat::SubDetector sub_detector () const
 Return the current subdetector type.
uint16_t module_identifier () const
 Return the current module identifier.
uint32_t no_of_elements () const
 Return the number of 32-bit words inside the ROD.
const ROBFragmentgetROBFragment () const
 Return the ROBFragment.

Private Attributes

const ROBFragmentm_rob
 daddy
PointerType m_data
 data

Detailed Description

template<typename ROBFragment, typename PointerType>
class ROBData_T< ROBFragment, PointerType >

template data class to wrap ROB fragment for accessing ROD data

This entity represents an abstraction of a ROB to the High-Level Trigger Algorithms layer. For L2UP implementation, the ROBData contains, internally, a "smart pointer" scheme that guarantees the underlying (buffer) data persistency until you don't need the ROBData anymore. In the offline/EF scheme, the Fragments are owned by the Event. no need for smart_ptr.

Definition at line 46 of file ROBData.h.

Constructor & Destructor Documentation

◆ ROBData_T() [1/3]

template<class ROBFragment, typename PointerType>
ROBData_T< ROBFragment, PointerType >::ROBData_T ( const ROBFragment * rob)
explicit

Builds a "high-level" ROB Data object.

Definition at line 135 of file ROBData.h.

135 : m_rob(rob), m_data(nullptr) {
136 m_rob->rod_data(m_data);
137}
template data class to wrap ROB fragment for accessing ROD data
Definition ROBData.h:46
const ROBFragment * m_rob
daddy
Definition ROBData.h:130
PointerType m_data
data
Definition ROBData.h:131

◆ ROBData_T() [2/3]

Copy Constructor.

Definition at line 144 of file ROBData.h.

144 :
146}

◆ ROBData_T() [3/3]

Default Constructor.

Definition at line 140 of file ROBData.h.

140 : m_rob(nullptr), m_data(nullptr) {
141}

Member Function Documentation

◆ begin()

Instantiates an iterator over 32-bit integers to the first element.

Definition at line 156 of file ROBData.h.

156 {
157 return iterator(m_data);
158}
This class defines how to iterate over the ROBData_T, in different formats.
Definition ROBData.h:88

◆ end()

Instantiates an iterator over 32-bit integers to the last+1 element.

Definition at line 161 of file ROBData.h.

161 {
162 return iterator(m_data + m_rob->rod_ndata());
163}

◆ getROBFragment()

template<class ROBFragment, typename PointerType>
const ROBFragment * ROBData_T< ROBFragment, PointerType >::getROBFragment ( ) const

Return the ROBFragment.

Definition at line 184 of file ROBData.h.

184 {
185 return m_rob;
186}

◆ module_identifier()

template<class ROBFragment, typename PointerType>
uint16_t ROBData_T< ROBFragment, PointerType >::module_identifier ( ) const

Return the current module identifier.

Definition at line 172 of file ROBData.h.

172 {
173 // m_data->header()->source_id(); //FIXME: WHY AM I NEEDED?
175 return sid.module_id();
176}

◆ no_of_elements()

template<class ROBFragment, typename PointerType>
uint32_t ROBData_T< ROBFragment, PointerType >::no_of_elements ( ) const

Return the number of 32-bit words inside the ROD.

Definition at line 179 of file ROBData.h.

179 {
180 return m_rob->rod_ndata();
181}

◆ operator=()

template<class ROBFragment, typename PointerType>
ROBData_T< ROBFragment, PointerType > & ROBData_T< ROBFragment, PointerType >::operator= ( const ROBData_T< ROBFragment, PointerType > & other)

Assignment Operator.

Definition at line 149 of file ROBData.h.

149 {
150 m_rob = other.m_rob;
152 return *this;
153}

◆ sub_detector()

template<class ROBFragment, typename PointerType>
eformat::SubDetector ROBData_T< ROBFragment, PointerType >::sub_detector ( ) const

Return the current subdetector type.

Definition at line 166 of file ROBData.h.

166 {
168 return sid.subdetector_id();
169}

Member Data Documentation

◆ m_data

template<typename ROBFragment, typename PointerType>
PointerType ROBData_T< ROBFragment, PointerType >::m_data
private

data

Definition at line 131 of file ROBData.h.

◆ m_rob

template<typename ROBFragment, typename PointerType>
const ROBFragment* ROBData_T< ROBFragment, PointerType >::m_rob
private

daddy

Definition at line 130 of file ROBData.h.


The documentation for this class was generated from the following file: