GRSISort
Created by P.C. Bender
Developement Team: P.C. Bender, R. Dunlop, V. Bildstein
An extension of the ROOT analysis Framework
TTdrFile Class Reference

Reader for MIDAS .mid files.

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

Definition at line 32 of file TTdrFile.h.

Public Types

enum  EOpenType { EOpenType::kRead, EOpenType::kWrite }
 

Public Member Functions

 TTdrFile ()
 
 TTdrFile (const char *filename, TRawFile::EOpenType open_type=TRawFile::EOpenType::kRead)
 
 ~TTdrFile () override
 
void Close () override
 
virtual size_t GetBytesRead ()
 
virtual const char * GetFilename () const
 
virtual size_t GetFileSize ()
 
virtual std::shared_ptr< TRawEventGetOdbEvent ()
 
int GetRunNumber () override
 
int GetSubRunNumber () override
 
std::shared_ptr< TRawEventNewEvent () override
 
bool Open (const char *filename) override
 
int Read (std::shared_ptr< TRawEvent > lstEvent) override
 
void Skip (size_t nofEvents) override
 
std::string Status (bool long_file_description=true) override
 

Protected Attributes

size_t fBytesRead {0}
 
std::string fFilename
 
size_t fFileSize {0}
 
std::ifstream fInputFile
 
std::vector< char > fReadBuffer
 

#include <TTdrFile.h>

+ Inheritance diagram for TTdrFile:
+ Collaboration diagram for TTdrFile:

Member Enumeration Documentation

◆ EOpenType

enum TRawFile::EOpenType
stronginherited
Enumerator
kRead 
kWrite 

Definition at line 33 of file TRawFile.h.

Constructor & Destructor Documentation

◆ TTdrFile() [1/2]

TTdrFile::TTdrFile ( )

default constructor

Definition at line 29 of file TTdrFile.cxx.

◆ TTdrFile() [2/2]

TTdrFile::TTdrFile ( const char *  filename,
TRawFile::EOpenType  open_type = TRawFile::EOpenType::kRead 
)

Definition at line 36 of file TTdrFile.cxx.

References TRawFile::kRead, TRawFile::kWrite, and Open().

◆ ~TTdrFile()

TTdrFile::~TTdrFile ( )
override

destructor

Definition at line 45 of file TTdrFile.cxx.

References Close().

Member Function Documentation

◆ Close()

void TTdrFile::Close ( )
overridevirtual

Close input file.

Implements TRawFile.

Definition at line 107 of file TTdrFile.cxx.

Referenced by ~TTdrFile().

◆ GetBytesRead()

virtual size_t TRawFile::GetBytesRead ( )
inlinevirtualinherited

Definition at line 56 of file TRawFile.h.

References TRawFile::fBytesRead.

Referenced by TDataLoop::Iteration().

◆ GetFilename()

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

Get the name of this file.

Reimplemented in TMidasFile.

Definition at line 51 of file TRawFile.h.

References TRawFile::fFilename.

Referenced by TLstFile::Open(), Open(), and TRlmdFile::Open().

◆ GetFileSize()

virtual size_t TRawFile::GetFileSize ( )
inlinevirtualinherited

Definition at line 57 of file TRawFile.h.

References TRawFile::fFileSize.

Referenced by TDataLoop::Iteration().

◆ GetOdbEvent()

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

Reimplemented in TMidasFile.

Definition at line 60 of file TRawFile.h.

◆ GetRunNumber()

int TTdrFile::GetRunNumber ( )
overridevirtual

Implements TRawFile.

Definition at line 168 of file TTdrFile.cxx.

References TRawFile::fFilename.

Referenced by Open().

◆ GetSubRunNumber()

int TTdrFile::GetSubRunNumber ( )
overridevirtual

Implements TRawFile.

Definition at line 200 of file TTdrFile.cxx.

References TRawFile::fFilename.

Referenced by Open().

◆ NewEvent()

std::shared_ptr<TRawEvent> TTdrFile::NewEvent ( )
inlineoverridevirtual

Implements TRawFile.

Definition at line 54 of file TTdrFile.h.

◆ Open()

bool TTdrFile::Open ( const char *  filename)
overridevirtual

Open input file.

Open a tdr file with given file name.

Parameters
[in]filenameThe file to open.
Returns
"true" for succes, "false" for error, use GetLastError() to see why

Implements TRawFile.

Definition at line 61 of file TTdrFile.cxx.

References TRunInfo::ClearVersion(), TRawFile::fFilename, TRawFile::fFileSize, fInputFile, TRawFile::fReadBuffer, TRawFile::GetFilename(), GetRunNumber(), GetSubRunNumber(), ITHEMBADATA_RELEASE, TRunInfo::SetDetectorInformation(), TChannel::SetMnemonicClass(), TRunInfo::SetRunInfo(), and TRunInfo::SetVersion().

Referenced by TTdrFile().

◆ Read()

int TTdrFile::Read ( std::shared_ptr< TRawEvent tdrEvent)
overridevirtual

Read one event from the file.

Parameters
[in]tdrEventPointer to an empty TTdrEvent
Returns
"true" for success, "false" for failure, see GetLastError() to see why

EDITED FROM THE ORIGINAL TO RETURN TOTAL SUCESSFULLY BYTES READ INSTEAD OF TRUE/FALSE, PCB

Implements TRawFile.

Definition at line 116 of file TTdrFile.cxx.

References TRawFile::fBytesRead, TRawFile::fFileSize, fInputFile, TRawFile::fReadBuffer, and hex().

◆ Skip()

void TTdrFile::Skip ( size_t  nofEvents)
overridevirtual

Skip nofEvents from the file.

Implements TRawFile.

Definition at line 154 of file TTdrFile.cxx.

References TRawFile::fBytesRead, TRawFile::fFileSize, and fInputFile.

◆ Status()

std::string TTdrFile::Status ( bool  long_file_description = true)
overridevirtual

Implements TRawFile.

Definition at line 51 of file TTdrFile.cxx.

References TRawFile::fBytesRead, TRawFile::fFileSize, HIDE_CURSOR, and SHOW_CURSOR.

Member Data Documentation

◆ fBytesRead

◆ fFilename

◆ fFileSize

◆ fInputFile

std::ifstream TTdrFile::fInputFile
protected

Definition at line 58 of file TTdrFile.h.

Referenced by Open(), Read(), and Skip().

◆ fReadBuffer

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