20#include <_types/_uint32_t.h>
42 bool Open(const
char* filename) override;
43 bool OutOpen(const
char* filename);
45 void Close() override;
51 int Read(std::shared_ptr<TRawEvent> event)
override;
52 bool Write(
const std::shared_ptr<TMidasEvent>& midasEvent,
55 void Skip(
size_t nofEvents)
override;
56 std::string
Status(
bool long_file_description =
true)
override;
59 void FillBuffer(
const std::shared_ptr<TMidasEvent>& midasEvent,
71 return std::static_pointer_cast<TRawEvent>(
fOdbEvent);
83 return std::make_shared<TMidasEvent>();
Reader for MIDAS .mid files.
bool OutOpen(const char *filename)
Open output file.
void OutClose()
Close output file.
TMidasFile(TMidasFile &&) noexcept=default
std::string fLastError
error string from last errno
std::string Status(bool long_file_description=true) override
bool Open(const char *filename) override
Open input file.
uint32_t fCurrentBufferSize
std::shared_ptr< TRawEvent > NewEvent() override
void SetMaxBufferSize(int maxsize)
void SetRunInfo(uint32_t time)
int Read(std::shared_ptr< TRawEvent > event) override
Read one event from the file.
std::string fOutFilename
name of the currently open file
int GetSubRunNumber() override
void * fOutGzFile
zlib compressed output file reader
int GetLastErrno() const
Get error value for the last file error.
std::vector< char > fWriteBuffer
bool Write(const std::shared_ptr< TMidasEvent > &midasEvent, Option_t *opt="")
Write one event to the output file.
int fFile
open input file descriptor
void Skip(size_t nofEvents) override
Skip nofEvents from the file.
void Close() override
Close input file.
bool fDoByteSwap
"true" if file has to be byteswapped
void FillBuffer(const std::shared_ptr< TMidasEvent > &midasEvent, Option_t *opt="")
TMidasFile()
default constructor
void * fGzFile
zlib compressed input file reader
int fOutFile
open output file descriptor
std::shared_ptr< TRawEvent > GetOdbEvent() override
const char * GetLastError() const
Get error text for the last file error.
int fLastErrno
errno from the last operation
TMidasFile(const TMidasFile &)=default
void ReadMoreBytes(size_t bytes)
std::shared_ptr< TMidasEvent > fOdbEvent
void * fPoFile
popen() input file reader
int GetRunNumber() override