GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TRawFile Class Referenceabstract

Detailed Description

Reader for raw files.

This Class is used to read and write raw files in the root framework.

Definition at line 31 of file TRawFile.h.

Public Types

enum class  EOpenType { kRead , kWrite }
 

Public Member Functions

 TRawFile ()=default
 
 TRawFile (const char *, EOpenType=EOpenType::kRead)
 
 TRawFile (const TRawFile &)=default
 
 TRawFile (TRawFile &&) noexcept=default
 
 ~TRawFile ()=default
 
char * BufferData ()
 
size_t BufferSize () const
 
virtual size_t BytesRead ()
 
void ClearBuffer ()
 
virtual void Close ()=0
 
virtual std::string Filename () const
 
virtual void Filename (const char *val)
 
virtual size_t FileSize ()
 
void FileSize (size_t fileSize)
 
virtual const char * GetFilename () const
 
virtual std::shared_ptr< TRawEventGetOdbEvent ()
 
virtual int GetRunNumber ()=0
 
virtual int GetSubRunNumber ()=0
 
void IncrementBytesRead (size_t val=1)
 
virtual std::shared_ptr< TRawEventNewEvent ()=0
 
virtual bool Open (const char *filename)=0
 
TRawFileoperator= (const TRawFile &)=default
 
TRawFileoperator= (TRawFile &&) noexcept=default
 
virtual int Read (std::shared_ptr< TRawEvent > event)=0
 
void ResizeBuffer (size_t newSize)
 
virtual void Skip (size_t nofEvents)=0
 
virtual std::string Status (bool long_file_description=true)=0
 

Private Attributes

size_t fBytesRead {0}
 
std::string fFilename
 
size_t fFileSize {0}
 
std::vector< char > fReadBuffer
 
+ Inheritance diagram for TRawFile:
+ Collaboration diagram for TRawFile:

Member Enumeration Documentation

◆ EOpenType

enum class TRawFile::EOpenType
strong
Enumerator
kRead 
kWrite 

Definition at line 33 of file TRawFile.h.

Constructor & Destructor Documentation

◆ TRawFile() [1/4]

TRawFile::TRawFile ( )
default

default constructor

◆ TRawFile() [2/4]

TRawFile::TRawFile ( const char * ,
EOpenType = EOpenType::kRead )
inlineexplicit

Definition at line 37 of file TRawFile.h.

◆ TRawFile() [3/4]

TRawFile::TRawFile ( const TRawFile & )
default

◆ TRawFile() [4/4]

TRawFile::TRawFile ( TRawFile && )
defaultnoexcept

◆ ~TRawFile()

TRawFile::~TRawFile ( )
default

destructor

Member Function Documentation

◆ BufferData()

char * TRawFile::BufferData ( )
inline

Definition at line 70 of file TRawFile.h.

References fReadBuffer.

Referenced by TMidasFile::Read(), TMidasFile::ReadMoreBytes(), and TMidasFile::Skip().

◆ BufferSize()

size_t TRawFile::BufferSize ( ) const
inline

Definition at line 69 of file TRawFile.h.

References fReadBuffer.

Referenced by TMidasFile::Read(), TMidasFile::ReadMoreBytes(), and TMidasFile::Skip().

◆ BytesRead()

virtual size_t TRawFile::BytesRead ( )
inlinevirtual

Definition at line 61 of file TRawFile.h.

References fBytesRead.

Referenced by TDataLoop::Iteration(), and TMidasFile::Status().

◆ ClearBuffer()

void TRawFile::ClearBuffer ( )
inline

Definition at line 71 of file TRawFile.h.

References fReadBuffer.

Referenced by TMidasFile::Read(), and TMidasFile::Skip().

◆ Close()

virtual void TRawFile::Close ( )
pure virtual

Close input file.

Implemented in TLstFile, TMidasFile, TRlmdFile, and TTdrFile.

◆ Filename() [1/2]

virtual std::string TRawFile::Filename ( ) const
inlinevirtual

Get the name of this file.

Definition at line 66 of file TRawFile.h.

References fFilename.

Referenced by TMidasFile::Close(), TMidasFile::GetRunNumber(), TMidasFile::GetSubRunNumber(), and TMidasFile::Open().

◆ Filename() [2/2]

virtual void TRawFile::Filename ( const char * val)
inlinevirtual

Definition at line 67 of file TRawFile.h.

References fFilename.

◆ FileSize() [1/2]

virtual size_t TRawFile::FileSize ( )
inlinevirtual

Definition at line 63 of file TRawFile.h.

References fFileSize.

Referenced by TDataLoop::Iteration(), TMidasFile::Open(), and TMidasFile::Status().

◆ FileSize() [2/2]

void TRawFile::FileSize ( size_t fileSize)
inline

Definition at line 64 of file TRawFile.h.

References fFileSize.

◆ GetFilename()

virtual const char * TRawFile::GetFilename ( ) const
inlinevirtual

Get the name of this file.

Definition at line 56 of file TRawFile.h.

References fFilename.

Referenced by TLstFile::Open(), TMidasFile::Open(), TRlmdFile::Open(), TTdrFile::Open(), and WriteEvents().

◆ GetOdbEvent()

virtual std::shared_ptr< TRawEvent > TRawFile::GetOdbEvent ( )
inlinevirtual

Reimplemented in TMidasFile.

Definition at line 75 of file TRawFile.h.

◆ GetRunNumber()

virtual int TRawFile::GetRunNumber ( )
pure virtual

Implemented in TLstFile, TMidasFile, TRlmdFile, and TTdrFile.

◆ GetSubRunNumber()

virtual int TRawFile::GetSubRunNumber ( )
pure virtual

Implemented in TLstFile, TMidasFile, TRlmdFile, and TTdrFile.

◆ IncrementBytesRead()

void TRawFile::IncrementBytesRead ( size_t val = 1)
inline

Definition at line 62 of file TRawFile.h.

References fBytesRead.

Referenced by TMidasFile::Read(), and TMidasFile::Skip().

◆ NewEvent()

virtual std::shared_ptr< TRawEvent > TRawFile::NewEvent ( )
pure virtual

Implemented in TLstFile, TMidasFile, TRlmdFile, and TTdrFile.

Referenced by TDataLoop::Iteration().

◆ Open()

virtual bool TRawFile::Open ( const char * filename)
pure virtual

Open input file.

Implemented in TLstFile, TMidasFile, TRlmdFile, and TTdrFile.

◆ operator=() [1/2]

TRawFile & TRawFile::operator= ( const TRawFile & )
default

◆ operator=() [2/2]

TRawFile & TRawFile::operator= ( TRawFile && )
defaultnoexcept

◆ Read()

virtual int TRawFile::Read ( std::shared_ptr< TRawEvent > event)
pure virtual

Read one event from the file.

Implemented in TLstFile, TMidasFile, TRlmdFile, and TTdrFile.

Referenced by TDataLoop::Iteration().

◆ ResizeBuffer()

void TRawFile::ResizeBuffer ( size_t newSize)
inline

Definition at line 72 of file TRawFile.h.

References fReadBuffer.

Referenced by TMidasFile::ReadMoreBytes().

◆ Skip()

virtual void TRawFile::Skip ( size_t nofEvents)
pure virtual

Skip nofEvents events in file.

Implemented in TLstFile, TMidasFile, TRlmdFile, and TTdrFile.

Referenced by TDataLoop::Iteration().

◆ Status()

virtual std::string TRawFile::Status ( bool long_file_description = true)
pure virtual

Implemented in TLstFile, TMidasFile, TRlmdFile, and TTdrFile.

Member Data Documentation

◆ fBytesRead

◆ fFilename

std::string TRawFile::fFilename
private

◆ fFileSize

◆ fReadBuffer

std::vector<char> TRawFile::fReadBuffer
private