|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TILECALIBBLOBOBJS_TILECALIBDRAWERDAT_H
6 #define TILECALIBBLOBOBJS_TILECALIBDRAWERDAT_H
27 #include "CoralBase/Blob.h"
37 typedef std::vector<std::vector<T> >
DefType;
62 const std::string&
author=
"",
84 virtual void dump(std::ostream& stm)
const;
106 template<
class T>
void
110 const std::string&
author,
115 uint32_t objSize = nGains>0 ? def.begin()->size() *
sizeof(
T)/
sizeof(
uint32_t) : 0;
119 for(
unsigned int iGain=0; iGain<nGains; ++iGain){
120 unsigned int thisSize = def[iGain].size()*
sizeof(
T)/
sizeof(
uint32_t);
121 if( thisSize != objSize ){
131 for(
unsigned int adc=0;
adc<nGains; ++
adc){
142 if(
idx>=getObjSizeUint32()){
157 if(
adc >= getNGains()) {
adc = 0;}
164 template<
class T>
void
171 if(
adc>=getNGains()){
174 if(
idx>=getObjSizeUint32()){
183 template<
class T>
void
186 for(
typename std::vector<T>::const_iterator
i=
data.begin();
i!=
data.end(); ++
i){
193 template<
class T>
const T*
211 template<
class T>
void
216 for(
unsigned int adc=0;
adc<getNGains(); ++
adc){
218 for(
unsigned int idx=0;
idx<getObjSizeUint32(); ++
idx){
char data[hepevt_bytes_allocation_ATLAS]
const InDetSimData * getData(const InDetSimDataCollection &coll, const Identifier &id)
Thrown if an index is out of range.
void dumpHeader(std::ostream &stm) const
Prints the BLOB header summary information.
Generic template class for storing a number of "T"s for each channel or ADC.
Thrown if BLOB size is not correct.
TileCalibDrawerDat(coral::Blob &blob)
Ctor (non-const).
void setData(unsigned int channel, unsigned int adc, unsigned int idx, T data)
Sets a single T belonging to a channel/ADC.
TileCalibDrawerDat(const coral::Blob &blob)
Ctor (const).
virtual ~TileCalibDrawerDat()
Dtor.
void setData(unsigned int channel, unsigned int adc, const std::vector< T > &data)
Sets a number of Ts stored in the input vector.
This class provides the core BLOB infrastructure.
T * getAddress(unsigned int channel, unsigned int adc)
void init(const DefType &def, uint16_t nChans, uint16_t objVers, const std::string &author="", const std::string &comment="", uint64_t timeStamp=0)
Initializing function.
virtual void dump() const
Prints out the content of the blob to std::out.
std::vector< std::vector< T > > DefType
Object to hold default data used for initialization.
const T * getAddress(unsigned int channel, unsigned int adc) const
Returns a pointer to the first value for the specified channel & ADC.
T getData(unsigned int channel, unsigned int adc, unsigned int idx) const
Returns a single T belonging to a channel/ADC.
static const unsigned int MAX_CHAN
Number of channels in drawer.
virtual void dump(std::ostream &stm) const
Prints out the content of the blob.
T getType(const char *cStr)
Return Ringer enumeration of type T identifying string type:
const void * getAddress(unsigned int iEle) const
Returns start address of iEle-th basic unit.