hdfwriter C++ API Reference

class I3HDFTable : public I3Table
#include <I3HDFTable.h>

Public Functions

I3HDFTable(I3TableService &service, const std::string &name, I3TableRowDescriptionConstPtr description, hid_t fileid, int compress, I3TablePtr index = I3TablePtr())
I3HDFTable(I3TableService &service, const std::string &name, hid_t fileId, I3TablePtr index = I3TablePtr())

Copyright (C) 2010 The Icecube Collaboration SPDX-License-Identifier: BSD-2-Clause

$Id$

Version

$Revision$

Date

$LastChangedDate$

Author

Eike Middell eike.middell@desy.de Last changed by: $LastChangedBy$

virtual ~I3HDFTable()
virtual I3TableRowConstPtr ReadRows(size_t start, size_t nrows) const
virtual void Flush(const size_t nrows = 0)

Public Static Functions

static std::string ReadAttributeString(hid_t fileID, std::string &where, std::string attribute)
static hid_t GetHDFType(const I3Datatype &dtype, const size_t arrayLength)
static I3Datatype GetI3Datatype(hid_t dtype, size_t *arrayLength)

Protected Functions

virtual void WriteRows(I3TableRowConstPtr row)
virtual std::pair<size_t, size_t> GetRangeForEvent(size_t index) const
void CreateTable(int &compress)
void CreateDescription()

Protected Attributes

hid_t fileId_

Private Functions

void CreateCache()
void CalculateChunkSize()
I3TableRowPtr ReadRowsFromTable(size_t start, size_t nrows) const
std::string log_label()
SET_LOGGER ("I3HDFTable")

Private Members

I3TableRowPtr writeCache_
mutable I3TableRowPtr readCache_
mutable std::pair<size_t, size_t> readCacheExtent_
size_t chunkSize_
class I3HDFTableService : public I3TableService

Copyright (C) 2010 The Icecube Collaboration SPDX-License-Identifier: BSD-2-Clause

$Id$

Version

$Revision$

Date

$LastChangedDate$

Author

Eike Middell eike.middell@desy.de Last changed by: $LastChangedBy$

Public Functions

inline I3HDFTableService(I3::dataio::shared_filehandle filename, int compress = 1, char mode = 'w')
inline I3HDFTableService(const std::string &filename, int compress = 1, char mode = 'w')
inline I3HDFTableService(const std::string &filename, char mode)
virtual ~I3HDFTableService()

Protected Functions

virtual I3TablePtr CreateTable(const std::string &tableName, I3TableRowDescriptionConstPtr description)
virtual void CloseFile()

Private Functions

void init(I3::dataio::shared_filehandle filename, int compress, char mode)

Copyright (C) 2010 The Icecube Collaboration SPDX-License-Identifier: BSD-2-Clause

$Id$

Version

$Revision$

Date

$LastChangedDate$

Author

Eike Middell eike.middell@desy.de Last changed by: $LastChangedBy$

void FindTables()
SET_LOGGER ("I3HDFTableService")

Private Members

hid_t fileId_
hid_t rootGroupId_
hid_t indexGroupId_
I3::dataio::shared_filehandle filename_
int compress_
bool fileOpen_
namespace std

STL namespace.

file hdf5_opt.h
#include “hdf5.h”
#include “H5LT.h”
#include “H5TA.h”

Functions

herr_t I3H5TBmake_table(const char *table_title, hid_t loc_id, const char *dset_name, hsize_t nfields, hsize_t nrecords, size_t type_size, const char *field_names[], const size_t *field_offset, const hid_t *field_types, hsize_t chunk_size, void *fill_data, int compress, const void *buf)
file I3HDFTable.cxx
#include <assert.h>
#include “hdfwriter/I3HDFTable.h
#include “tableio/I3Converter.h”
#include “tableio/I3TableRow.h”
#include “tableio/I3TableRowDescription.h”
#include “H5Tpublic.h”
#include “H5TA.h”
#include “H5Dpublic.h”
#include “H5Gpublic.h”
#include “hdf5_opt.h
file I3HDFTable.h
#include “tableio/I3Table.h”
#include “tableio/I3Datatype.h”
#include “H5Ipublic.h”

Defines

CHUNKSIZE_BYTES
CHUNKTIMES

Functions

I3_FORWARD_DECLARATION(I3TableService)

Copyright (C) 2010 The Icecube Collaboration SPDX-License-Identifier: BSD-2-Clause

$Id$

Version

$Revision$

Date

$LastChangedDate$

Author

Eike Middell eike.middell@desy.de Last changed by: $LastChangedBy$

I3_FORWARD_DECLARATION(I3TableRowDescription)
I3_FORWARD_DECLARATION(I3TableRow)
file I3HDFTableService.cxx
#include <regex>
#include “hdfwriter/I3HDFTable.h
#include “tableio/I3TableRowDescription.h”
#include “H5Tpublic.h”
#include “H5TA.h”
#include “H5Gpublic.h”
#include “H5Fpublic.h”
#include “H5Ppublic.h”

Functions

herr_t GatherTableNames(hid_t group_id, const char *member_name, void *target)
file I3HDFTableService.h
#include “tableio/I3TableService.h”
#include “dataio/I3FileStager.h”
#include <boost/make_shared.hpp>
#include “H5Ipublic.h”
dir hdfwriter
dir hdfwriter
dir hdfwriter
dir icetray
dir private
dir public