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

Schema definition for a HIPO bank. More...

#include <dictionary.h>

Public Member Functions

 schema ()
 
 schema (const char *name, int __group, int __item)
 
 schema (const schema &s)
 
virtual ~schema ()=default
 
void parse (const std::string &schString)
 
std::string getName () const
 
int getGroup ()
 
int getItem ()
 
int getSizeForRows (int rows)
 
int getRowLength () const noexcept
 
int getEntryOrder (const char *name) const
 
bool exists (const char *name) const
 
int getOffset (int item, int order, int rows) const
 
int getOffset (const char *name, int order, int rows) const
 
int getEntryType (int item) const noexcept
 
int getEntryType (const char *name) const noexcept
 
std::string getEntryName (int item) const noexcept
 
int getEntries () const noexcept
 
void show ()
 
std::string getSchemaString ()
 
std::string getSchemaStringJson ()
 
void operator= (const schema &D)
 

Detailed Description

Schema definition for a HIPO bank.

Defines the column names, types, and layout for a bank. Each column has a name, a type (B=byte, S=short, I=int, F=float, D=double, L=long), and an offset computed from the column order.

hipo::schema s("REC::Particle", 300, 1);
s.parse("pid/I,px/F,py/F,pz/F");
int col = s.getEntryOrder("pid"); // returns column index
Schema definition for a HIPO bank.
Definition dictionary.h:56

Constructor & Destructor Documentation

◆ schema() [1/3]

hipo::schema::schema ( )
inline

◆ schema() [2/3]

hipo::schema::schema ( const char *  name,
int  __group,
int  __item 
)
inline

◆ schema() [3/3]

hipo::schema::schema ( const schema s)
inline

◆ ~schema()

virtual hipo::schema::~schema ( )
virtualdefault

Member Function Documentation

◆ parse()

void hipo::schema::parse ( const std::string &  schString)

◆ getName()

std::string hipo::schema::getName ( ) const
inline

◆ getGroup()

int hipo::schema::getGroup ( )
inline

◆ getItem()

int hipo::schema::getItem ( )
inline

◆ getSizeForRows()

int hipo::schema::getSizeForRows ( int  rows)

◆ getRowLength()

int hipo::schema::getRowLength ( ) const
inlinenoexcept

◆ getEntryOrder()

int hipo::schema::getEntryOrder ( const char *  name) const
inline

◆ exists()

bool hipo::schema::exists ( const char *  name) const
inline

◆ getOffset() [1/2]

int hipo::schema::getOffset ( int  item,
int  order,
int  rows 
) const
inline

◆ getOffset() [2/2]

int hipo::schema::getOffset ( const char *  name,
int  order,
int  rows 
) const
inline

◆ getEntryType() [1/2]

int hipo::schema::getEntryType ( int  item) const
inlinenoexcept

◆ getEntryType() [2/2]

int hipo::schema::getEntryType ( const char *  name) const
inlinenoexcept

◆ getEntryName()

std::string hipo::schema::getEntryName ( int  item) const
inlinenoexcept

◆ getEntries()

int hipo::schema::getEntries ( ) const
inlinenoexcept

◆ show()

void hipo::schema::show ( )

◆ getSchemaString()

std::string hipo::schema::getSchemaString ( )

◆ getSchemaStringJson()

std::string hipo::schema::getSchemaStringJson ( )

◆ operator=()

void hipo::schema::operator= ( const schema D)
inline

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