ATLAS Offline Software
Classes | Public Member Functions | Private Attributes | List of all members
ROBData_T< ROBFragment, PointerType > Class Template Reference

templete 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. More...
 
 ROBData_T (const ROBData_T &other)
 Copy Constructor. More...
 
 ROBData_T ()
 Default Constructor. More...
 
iterator begin (void) const
 Instantiates an iterator over 32-bit integers to the first element. More...
 
iterator end (void) const
 Instantiates an iterator over 32-bit integers to the last+1 element. More...
 
ROBData_Toperator= (const ROBData_T &other)
 Assignment Operator. More...
 
eformat::SubDetector sub_detector () const
 Return the current subdetector type. More...
 
uint16_t module_identifier () const
 Return the current module identifier. More...
 
uint32_t no_of_elements () const
 Return the number of 32-bit words inside the ROD. More...
 
const ROBFragment * getROBFragment () const
 Return the ROBFragment. More...
 

Private Attributes

const ROBFragment * m_rob
 daddy More...
 
PointerType m_data
 data More...
 

Detailed Description

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

templete 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 persitency 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)

Builds a "high-level" ROB Data object.

Definition at line 135 of file ROBData.h.

135  : m_rob(rob), m_data(0) {
136  m_rob->rod_data(m_data);
137 }

◆ ROBData_T() [2/3]

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

Copy Constructor.

Definition at line 144 of file ROBData.h.

144  :
145  m_rob(other.m_rob), m_data(other.m_data) {
146 }

◆ ROBData_T() [3/3]

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

Default Constructor.

Definition at line 140 of file ROBData.h.

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

Member Function Documentation

◆ begin()

template<class ROBFragment , typename PointerType >
ROBData_T< ROBFragment, PointerType >::iterator ROBData_T< ROBFragment, PointerType >::begin ( void  ) const

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 }

◆ end()

template<class ROBFragment , typename PointerType >
ROBData_T< ROBFragment, PointerType >::iterator ROBData_T< ROBFragment, PointerType >::end ( void  ) const

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

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

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?
174  eformat::helper::SourceIdentifier sid(m_rob->rod_source_id());
175  return sid.module_id();
176 }

◆ no_of_elements()

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

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;
151  m_data = other.m_data;
152  return *this;
153 }

◆ sub_detector()

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

Return the current subdetector type.

Definition at line 166 of file ROBData.h.

166  {
167  eformat::helper::SourceIdentifier sid(m_rob->rod_source_id());
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:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
ROBData_T::m_rob
const ROBFragment * m_rob
daddy
Definition: ROBData.h:130
ROBData_T::m_data
PointerType m_data
data
Definition: ROBData.h:131
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16