Creates bank index for serialized event. More...
#include <evioBankIndex.hxx>
Public Member Functions | |
evioBankIndex (int maxDepth=0) | |
Constructor. | |
evioBankIndex (const uint32_t *buffer, int maxDepth=0) | |
Constructor from buffer. | |
virtual | ~evioBankIndex () |
Destructor. | |
bool | parseBuffer (const uint32_t *buffer, int maxDepth) |
Indexes buffer and fills map. | |
bool | tagNumExists (const tagNum &tn) const |
True if tagNum is in map at least once. | |
int | tagNumCount (const tagNum &tn) const |
Returns count of tagNum in map. | |
bankIndexRange | getRange (const tagNum &tn) const |
Returns pair of iterators defining range of equal keys in tagNumMap. | |
bankIndex | getBankIndex (const tagNum &tn) const throw (evioException) |
Returns bankIndex given tagNum, throws exception if no entry found. | |
int | getMaxDepth () |
template<typename T > | |
const T * | getData (const tagNum &tn, int *pLen) throw (evioException) |
Returns length and pointer to data, NULL if container bank, bad tagNum or wrong data type. | |
template<typename T > | |
const T * | getData (const bankIndex &bi, int *pLen) throw (evioException) |
Returns length and pointer to data, assumes valid bankIndex. | |
Public Attributes | |
bankIndexMap | tagNumMap |
Holds index to one or more banks having tag/num. |
Creates bank index for serialized event.
Note that a given tag/num may appear more than once in event and map.
evioBankIndex::evioBankIndex | ( | int | maxDepth = 0 |
) |
Constructor.
evioBankIndex::evioBankIndex | ( | const uint32_t * | buffer, | |
int | maxDepth = 0 | |||
) |
evioBankIndex::~evioBankIndex | ( | ) | [virtual] |
Destructor.
bankIndex evioBankIndex::getBankIndex | ( | const tagNum & | tn | ) | const throw (evioException) |
const T* evio::evioBankIndex::getData | ( | const bankIndex & | bi, | |
int * | pLen | |||
) | throw (evioException) [inline] |
const T* evio::evioBankIndex::getData | ( | const tagNum & | tn, | |
int * | pLen | |||
) | throw (evioException) [inline] |
Returns length and pointer to data, NULL if container bank, bad tagNum or wrong data type.
tn | tagNum | |
pLen | Pointer to int to receive data length, set to 0 upon error |
References tagNumMap.
int evio::evioBankIndex::getMaxDepth | ( | ) |
bankIndexRange evioBankIndex::getRange | ( | const tagNum & | tn | ) | const |
Returns pair of iterators defining range of equal keys in tagNumMap.
tn | tagNum |
References tagNumMap.
bool evioBankIndex::parseBuffer | ( | const uint32_t * | buffer, | |
int | maxDepth | |||
) |
Indexes buffer and fills map.
buffer | Buffer containing serialized event |
References evio::evioStreamParser::parse().
Referenced by evioBankIndex().
int evioBankIndex::tagNumCount | ( | const tagNum & | tn | ) | const |
Returns count of tagNum in map.
tn | tagNum |
References tagNumMap.
bool evioBankIndex::tagNumExists | ( | const tagNum & | tn | ) | const |
True if tagNum is in map at least once.
tn | tagNum |
References tagNumMap.
Holds index to one or more banks having tag/num.
Referenced by getData(), getRange(), tagNumCount(), and tagNumExists().