HIPO4 C++ Library 4.4.1
Columnar I/O library for CLAS12 physics data
Loading...
Searching...
No Matches
hipo::bank Class Reference

#include <bank.h>

Inheritance diagram for hipo::bank:
[legend]
Collaboration diagram for hipo::bank:
[legend]

Classes

class  rowlist
 rowlist encapsulates a list of rows for this bank, providing a way to iterate over them More...
 

Public Member Functions

 bank ()
 
 bank (const schema &__schema)
 
 bank (const schema &__schema, int __rows)
 
 ~bank () override
 
schemagetSchema ()
 
int getRows () const noexcept
 
void setRows (int rows)
 
int getInt (int item, int index) const noexcept
 
int getShort (int item, int index) const noexcept
 
int getByte (int item, int index) const noexcept
 
float getFloat (int item, int index) const noexcept
 
double getDouble (int item, int index) const noexcept
 
long getLong (int item, int index) const noexcept
 
std::vector< intgetInt (int item) const noexcept
 
std::vector< floatgetFloat (int item) const noexcept
 
std::vector< doublegetDouble (int item) const noexcept
 
template<typename T = double>
get (int item, int index) const noexcept
 
int getInt (const char *name, int index) const noexcept
 
int getShort (const char *name, int index) const noexcept
 
int getByte (const char *name, int index) const noexcept
 
float getFloat (const char *name, int index) const noexcept
 
double getDouble (const char *name, int index) const noexcept
 
long getLong (const char *name, int index) const noexcept
 
std::vector< intgetInt (const char *name) const noexcept
 
std::vector< floatgetFloat (const char *name) const noexcept
 
std::vector< doublegetDouble (const char *name) const noexcept
 
template<typename T = double>
get (const char *name, int index) const noexcept
 
void putInt (const char *name, int index, int32_t value)
 
void putShort (const char *name, int index, int16_t value)
 
void putByte (const char *name, int index, int8_t value)
 
void putFloat (const char *name, int index, float value)
 
void putDouble (const char *name, int index, double value)
 
void putLong (const char *name, int index, int64_t value)
 
template<typename T >
void put (const char *name, int index, T value)
 
void putInt (int item, int index, int32_t value)
 
void putShort (int item, int index, int16_t value)
 
void putByte (int item, int index, int8_t value)
 
void putFloat (int item, int index, float value)
 
void putDouble (int item, int index, double value)
 
void putLong (int item, int index, int64_t value)
 
template<typename T >
void put (int item, int index, T value)
 
rowlist::list_t constgetRowList () const
 
rowlist::list_t const getFullRowList () const
 
rowlistgetMutableRowList ()
 
rowlist::list_t const getRowListLinked (int const row, int const column) const
 
void show () const override
 show this bank's contents; only the rows in its current rowlist instance are shown
 
void show (bool const showAllRows) const
 show this bank's contents
 
void printValue (int schemaEntry, int row) const
 print a stored value
 
std::size_t checksum (bool checkAllRows=false) const
 calculate a checksum for this bank; useful for comparing two banks' equality
 
void reset ()
 
void notify () override
 
- Public Member Functions inherited from hipo::structure
 structure ()
 
 structure (int size)
 
 structure (int __group, int __item, std::string &str)
 
virtual ~structure ()=default
 
bool allocate (int size)
 
int getSize () const noexcept
 
int getHeaderSize () const noexcept
 
int getDataSize () const noexcept
 
int getType () const
 
int getGroup () const
 
int getItem () const
 
void init (const char *buffer, int size)
 
void initNoCopy (const char *buffer, int size)
 
const char * getAddress ()
 
void setSize (int size)
 
void setHeaderSize (int size)
 
void setDataSize (int size)
 
int getIntAt (int index) const noexcept
 
int16_t getShortAt (int index) const noexcept
 
int8_t getByteAt (int index) const noexcept
 
float getFloatAt (int index) const noexcept
 
double getDoubleAt (int index) const noexcept
 
long getLongAt (int index) const noexcept
 
std::string getStringAt (int index)
 
void putIntAt (int index, int value)
 
void putShortAt (int index, int16_t value)
 
void putByteAt (int index, int8_t value)
 
void putFloatAt (int index, float value)
 
void putDoubleAt (int index, double value)
 
void putLongAt (int index, int64_t value)
 
void putStringAt (int index, std::string &str)
 

Additional Inherited Members

- Protected Member Functions inherited from hipo::structure
void initStructureBySize (int __group, int __item, int __type, int __size)
 
std::vector< char > & getStructureBuffer ()
 
int getStructureBufferSize ()
 
- Protected Attributes inherited from hipo::structure
int dataOffset = 8
 

Constructor & Destructor Documentation

◆ bank() [1/3]

hipo::bank::bank ( )
default

◆ bank() [2/3]

hipo::bank::bank ( const schema __schema)
inline

◆ bank() [3/3]

hipo::bank::bank ( const schema __schema,
int  __rows 
)
inline

◆ ~bank()

hipo::bank::~bank ( )
overridedefault

Member Function Documentation

◆ getSchema()

schema & hipo::bank::getSchema ( )
inline

◆ getRows()

int hipo::bank::getRows ( ) const
inlinenoexcept

◆ setRows()

void hipo::bank::setRows ( int  rows)

◆ getInt() [1/4]

int hipo::bank::getInt ( int  item,
int  index 
) const
inlinenoexcept

◆ getShort() [1/2]

int hipo::bank::getShort ( int  item,
int  index 
) const
inlinenoexcept

◆ getByte() [1/2]

int hipo::bank::getByte ( int  item,
int  index 
) const
inlinenoexcept

◆ getFloat() [1/4]

float hipo::bank::getFloat ( int  item,
int  index 
) const
inlinenoexcept

◆ getDouble() [1/4]

double hipo::bank::getDouble ( int  item,
int  index 
) const
inlinenoexcept

◆ getLong() [1/2]

long hipo::bank::getLong ( int  item,
int  index 
) const
inlinenoexcept

◆ getInt() [2/4]

std::vector< int > hipo::bank::getInt ( int  item) const
inlinenoexcept

◆ getFloat() [2/4]

std::vector< float > hipo::bank::getFloat ( int  item) const
inlinenoexcept

◆ getDouble() [2/4]

std::vector< double > hipo::bank::getDouble ( int  item) const
inlinenoexcept

◆ get() [1/2]

template<typename T = double>
T hipo::bank::get ( int  item,
int  index 
) const
inlinenoexcept

◆ getInt() [3/4]

int hipo::bank::getInt ( const char name,
int  index 
) const
inlinenoexcept

◆ getShort() [2/2]

int hipo::bank::getShort ( const char name,
int  index 
) const
inlinenoexcept

◆ getByte() [2/2]

int hipo::bank::getByte ( const char name,
int  index 
) const
inlinenoexcept

◆ getFloat() [3/4]

float hipo::bank::getFloat ( const char name,
int  index 
) const
inlinenoexcept

◆ getDouble() [3/4]

double hipo::bank::getDouble ( const char name,
int  index 
) const
inlinenoexcept

◆ getLong() [2/2]

long hipo::bank::getLong ( const char name,
int  index 
) const
inlinenoexcept

◆ getInt() [4/4]

std::vector< int > hipo::bank::getInt ( const char name) const
inlinenoexcept

◆ getFloat() [4/4]

std::vector< float > hipo::bank::getFloat ( const char name) const
inlinenoexcept

◆ getDouble() [4/4]

std::vector< double > hipo::bank::getDouble ( const char name) const
inlinenoexcept

◆ get() [2/2]

template<typename T = double>
T hipo::bank::get ( const char *  name,
int  index 
) const
inlinenoexcept

◆ putInt() [1/2]

void hipo::bank::putInt ( const char name,
int  index,
int32_t  value 
)

◆ putShort() [1/2]

void hipo::bank::putShort ( const char name,
int  index,
int16_t  value 
)

◆ putByte() [1/2]

void hipo::bank::putByte ( const char name,
int  index,
int8_t  value 
)

◆ putFloat() [1/2]

void hipo::bank::putFloat ( const char name,
int  index,
float  value 
)

◆ putDouble() [1/2]

void hipo::bank::putDouble ( const char name,
int  index,
double  value 
)

◆ putLong() [1/2]

void hipo::bank::putLong ( const char name,
int  index,
int64_t  value 
)

◆ put() [1/2]

template<typename T >
void hipo::bank::put ( const char name,
int  index,
T  value 
)
inline

◆ putInt() [2/2]

void hipo::bank::putInt ( int  item,
int  index,
int32_t  value 
)
inline

◆ putShort() [2/2]

void hipo::bank::putShort ( int  item,
int  index,
int16_t  value 
)
inline

◆ putByte() [2/2]

void hipo::bank::putByte ( int  item,
int  index,
int8_t  value 
)
inline

◆ putFloat() [2/2]

void hipo::bank::putFloat ( int  item,
int  index,
float  value 
)
inline

◆ putDouble() [2/2]

void hipo::bank::putDouble ( int  item,
int  index,
double  value 
)
inline

◆ putLong() [2/2]

void hipo::bank::putLong ( int  item,
int  index,
int64_t  value 
)
inline

◆ put() [2/2]

template<typename T >
void hipo::bank::put ( int  item,
int  index,
T  value 
)
inline

◆ getRowList()

bank::rowlist::list_t const & hipo::bank::getRowList ( ) const
Returns
an immutable list of available rows for this bank. This list may be a subset of the full list of rows, if for example the bank was filtered (see hipo::bank::rowlist::filter); cf. hipo::bank::rowlist::getFullRowList

◆ getFullRowList()

bank::rowlist::list_t const hipo::bank::getFullRowList ( ) const
Returns
an immutable list of all rows in the bank; cf. hipo::bank::rowlist::getRowList. This method may be less efficient than simply using a for loop from 0 to getRows()

◆ getMutableRowList()

bank::rowlist & hipo::bank::getMutableRowList ( )
Returns
a reference to the mutable hipo::bank::rowlist owned by this bank. For example, use this method to call hipo::bank::rowlist::filter.

◆ getRowListLinked()

bank::rowlist::list_t const hipo::bank::getRowListLinked ( int const  row,
int const  column 
) const
Returns
a hipo::bank::rowlist for this bank, for rows r such that getInt(column,r) == row
Parameters
rowthe value to check
columnthe column to check (must be an integer-type column, e.g., that of "pindex")

◆ show() [1/2]

void hipo::bank::show ( ) const
overridevirtual

show this bank's contents; only the rows in its current rowlist instance are shown

Reimplemented from hipo::structure.

◆ show() [2/2]

void hipo::bank::show ( bool const  showAllRows) const

show this bank's contents

Parameters
showAllRowsif true, show all this bank's rows, otherwise just the rows in its rowlist instance, which may have been reduced by, e.g., hipo::bank::rowlist::filter

◆ printValue()

void hipo::bank::printValue ( int  schemaEntry,
int  row 
) const

print a stored value

Parameters
schemaEntrythe schema entry number
rowthe row number

◆ checksum()

std::size_t hipo::bank::checksum ( bool  checkAllRows = false) const

calculate a checksum for this bank; useful for comparing two banks' equality

Parameters
checkAllRowsif true, checks all rows rather than just those from getRowList()
Returns
the checksum

◆ reset()

void hipo::bank::reset ( )

◆ notify()

void hipo::bank::notify ( )
overridevirtual

Reimplemented from hipo::structure.


The documentation for this class was generated from the following files: