ATLAS Offline Software
Loading...
Searching...
No Matches
TileCalibDrawerBase.h File Reference
#include <stdint.h>
#include <vector>
#include <string>
#include <iostream>
#include "CoralBase/Blob.h"
#include "TileCalibBlobObjs/Exception.h"
#include "TileCalibBlobObjs/TileCalibType.h"
Include dependency graph for TileCalibDrawerBase.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  TileCalibDrawerBase
 This class provides the core BLOB infrastructure. More...

Functions

 __attribute__ ((always_inline)) inline uint16_t TileCalibDrawerBase

Function Documentation

◆ __attribute__()

__attribute__ ( (always_inline) )

Definition at line 190 of file TileCalibDrawerBase.h.

192{
193 return m_blobStart16[0];
194}
195
196//
197//_________________________________________________________
198__attribute__((always_inline)) inline uint16_t
200{
201 return m_blobStart16[1];
202}
203
204//
205//_________________________________________________________
206__attribute__((always_inline)) inline uint32_t
208{
209 return m_blobStart32[1];
210}
211
212//
213//_________________________________________________________
214__attribute__((always_inline)) inline uint32_t
216{
217 return m_blobStart32[2];
218}
219
220//
221//_________________________________________________________
222__attribute__((always_inline)) inline uint16_t
224{
225 return m_blobStart16[6];
226}
227
228//
229//_________________________________________________________
230__attribute__((always_inline)) inline uint16_t
232{
233 return m_blobStart16[7];
234}
235
236//
237//_________________________________________________________
238__attribute__((always_inline)) inline uint32_t
240{
241 return m_blobStart32[4];
242}
243
244//
245//_________________________________________________________
246__attribute__((always_inline)) inline const void*
247TileCalibDrawerBase::getAddress(unsigned int iEle) const
248{
249 if(iEle>=getNObjs()){
250 throw TileCalib::IndexOutOfRange("TileCalibDrawerBase::getAddress", iEle, getNObjs());
251 }
252 return static_cast<const void*>( m_blobStart32 + m_hdrSize32 + getObjSizeUint32()*iEle );
253}
254
255//
256//_________________________________________________________
257__attribute__((always_inline)) inline void*
258TileCalibDrawerBase::getAddress(unsigned int iEle)
259{
260 if(iEle>=getNObjs()){
261 throw TileCalib::IndexOutOfRange("TileCalibDrawerBase::getAddress", iEle, getNObjs());
262 }
263 uint32_t* blobStart32 = static_cast<uint32_t*>(m_blob_nc->startingAddress());
264 return static_cast<void*>( blobStart32 + m_hdrSize32 + getObjSizeUint32()*iEle );
265}
__attribute__((always_inline)) inline uint16_t TileCalibDrawerBase
uint32_t getCommentSizeUint32() const
Returns the space occupied by the comment fields in units of uint32_t.
uint16_t getNChans() const
Returns the number of channels stored in the BLOB.
const uint32_t * m_blobStart32
Cache blob starting address as uint_32t*.
uint16_t getNGains() const
Returns the number of gains stored for each channel.
uint32_t getNObjs() const
Returns the number of data objects stored int the BLOB.
const uint16_t * m_blobStart16
Cache blob starting address as uint_16t*.
static const unsigned int m_hdrSize32
The header size in units of uint32_t.
uint16_t getObjVersion() const
Returns the BLOB object version.
coral::Blob * m_blob_nc
Non-const reference to the BLOB.
uint32_t getObjSizeUint32() const
Returns the size of a data object in units of uint32_t.
const void * getAddress(unsigned int iEle) const
Returns start address of iEle-th basic unit.
setWord1 uint16_t
setEventNumber uint32_t