ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
TileCalibData< T > Class Template Reference

Templated condition object to keep TileCalibDrawers. More...

#include <TileCalibData.h>

Collaboration diagram for TileCalibData< T >:

Public Member Functions

 TileCalibData ()
 
virtual ~TileCalibData ()
 
const T * getCalibDrawer (unsigned int drawerIdx) const
 Return TileCalibDrawer of type T. More...
 
void setCalibDrawer (unsigned int drawerIdx, const T *calibDrawer)
 Store TileCalibDrawer of type T The TileCalibData takes ownership of TileCalibDrawer. More...
 
 TileCalibData (const TileCalibData &)=delete
 
TileCalibDataoperator= (const TileCalibData &)=delete
 

Private Attributes

std::vector< const T * > m_calibDrawers
 

Detailed Description

template<class T>
class TileCalibData< T >

Templated condition object to keep TileCalibDrawers.

Can keep TileCalibDrawers of the following types:

Definition at line 26 of file TileCalibData.h.

Constructor & Destructor Documentation

◆ TileCalibData() [1/2]

template<class T >
TileCalibData< T >::TileCalibData

Definition at line 10 of file TileCalibData.cxx.

11 
12 }

◆ ~TileCalibData()

template<class T >
TileCalibData< T >::~TileCalibData
virtual

Definition at line 15 of file TileCalibData.cxx.

15  {
16 
17  //=== Delete TileCalibDrawers (which do not own the blob)
18  std::set<const T*> uniqueDrawers(m_calibDrawers.begin(), m_calibDrawers.end());
19  for (const T* calibDrawer : uniqueDrawers) {
20  delete calibDrawer;
21  }
22 
23 }

◆ TileCalibData() [2/2]

template<class T >
TileCalibData< T >::TileCalibData ( const TileCalibData< T > &  )
delete

Member Function Documentation

◆ getCalibDrawer()

template<class T >
const T * TileCalibData< T >::getCalibDrawer ( unsigned int  drawerIdx) const

Return TileCalibDrawer of type T.

Returns
TileCalibDrawer of type T
Parameters
drawerIdxTile drawer index in range [0..275]

Definition at line 26 of file TileCalibData.cxx.

26  {
27 
28  if (drawerIdx >= TileCalibUtils::MAX_DRAWERIDX) {
29 
30  throw TileCalib::IndexOutOfRange("TileCalibData::getCalibDrawer()",
32  }
33 
34  return m_calibDrawers[drawerIdx];
35 }

◆ operator=()

template<class T >
TileCalibData& TileCalibData< T >::operator= ( const TileCalibData< T > &  )
delete

◆ setCalibDrawer()

template<class T >
void TileCalibData< T >::setCalibDrawer ( unsigned int  drawerIdx,
const T *  calibDrawer 
)

Store TileCalibDrawer of type T The TileCalibData takes ownership of TileCalibDrawer.

Parameters
drawerIdxTile drawer index in range [0..275]
calibDrawerTileCalibDrawer of type T to store

Definition at line 38 of file TileCalibData.cxx.

38  {
39 
40  if (drawerIdx >= TileCalibUtils::MAX_DRAWERIDX) {
41 
42  throw TileCalib::IndexOutOfRange("TileCalibData::setCalibDrawer()",
44  }
45 
46  m_calibDrawers[drawerIdx] = calibDrawer;
47 }

Member Data Documentation

◆ m_calibDrawers

template<class T >
std::vector<const T*> TileCalibData< T >::m_calibDrawers
private

Definition at line 53 of file TileCalibData.h.


The documentation for this class was generated from the following files:
TileCalib::IndexOutOfRange
Thrown if an index is out of range.
Definition: TileCalorimeter/TileCalib/TileCalibBlobObjs/TileCalibBlobObjs/Exception.h:141
TileCalibUtils::MAX_DRAWERIDX
static const unsigned int MAX_DRAWERIDX
Maximal drawer index
Definition: TileCalibUtils.h:143
BchCleanup.calibDrawer
calibDrawer
Definition: BchCleanup.py:217
TileCalibData::m_calibDrawers
std::vector< const T * > m_calibDrawers
Definition: TileCalibData.h:53
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35