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

Detailed Description

Reader for ILL .lst files.

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

Definition at line 31 of file TLstFile.h.

Public Types

enum class  EOpenType { kRead , kWrite }
 

Public Member Functions

 TLstFile ()
 
 TLstFile (const char *filename, TRawFile::EOpenType open_type=TRawFile::EOpenType::kRead)
 
 ~TLstFile () override
 
int32_t * BoardHeaders ()
 
char * BufferData ()
 
size_t BufferSize () const
 
virtual size_t BytesRead ()
 
void ClearBuffer ()
 
void Close () override
 
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 ()
 
int GetRunNumber () override
 
int GetSubRunNumber () override
 
void IncrementBytesRead (size_t val=1)
 
int32_t NbBoards ()
 
int32_t NbEvents ()
 
std::shared_ptr< TRawEventNewEvent () override
 
bool Open (const char *filename) override
 
int Read (std::shared_ptr< TRawEvent > lstEvent) override
 
void ResizeBuffer (size_t newSize)
 
void Skip (size_t nofEvents) override
 
std::string Status (bool long_file_description=true) override
 
int32_t TimeBase ()
 
int32_t Version ()
 

Private Member Functions

void ParseHeaders ()
 

Private Attributes

int32_t * fBoardHeaders
 
size_t fBytesRead {0}
 
std::string fFilename
 
size_t fFileSize {0}
 
std::ifstream fInputStream
 
int32_t fNbBoards
 
int32_t fNbEvents
 
std::vector< char > fReadBuffer
 
int32_t fTimeBase
 
int32_t fVersion
 
+ Inheritance diagram for TLstFile:
+ Collaboration diagram for TLstFile:

Member Enumeration Documentation

◆ EOpenType

enum class TRawFile::EOpenType
stronginherited
Enumerator
kRead 
kWrite 

Definition at line 33 of file TRawFile.h.

Constructor & Destructor Documentation

◆ TLstFile() [1/2]

TLstFile::TLstFile ( )

default constructor

Definition at line 32 of file TLstFile.cxx.

◆ TLstFile() [2/2]

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

Definition at line 39 of file TLstFile.cxx.

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

◆ ~TLstFile()

TLstFile::~TLstFile ( )
override

destructor

Definition at line 48 of file TLstFile.cxx.

References Close(), and fBoardHeaders.

Member Function Documentation

◆ BoardHeaders()

int32_t * TLstFile::BoardHeaders ( )
inline

Definition at line 56 of file TLstFile.h.

References fBoardHeaders.

◆ BufferData()

char * TRawFile::BufferData ( )
inlineinherited

Definition at line 70 of file TRawFile.h.

References TRawFile::fReadBuffer.

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

◆ BufferSize()

size_t TRawFile::BufferSize ( ) const
inlineinherited

Definition at line 69 of file TRawFile.h.

References TRawFile::fReadBuffer.

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

◆ BytesRead()

virtual size_t TRawFile::BytesRead ( )
inlinevirtualinherited

Definition at line 61 of file TRawFile.h.

References TRawFile::fBytesRead.

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

◆ ClearBuffer()

void TRawFile::ClearBuffer ( )
inlineinherited

Definition at line 71 of file TRawFile.h.

References TRawFile::fReadBuffer.

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

◆ Close()

void TLstFile::Close ( )
overridevirtual

Close input file.

Implements TRawFile.

Definition at line 190 of file TLstFile.cxx.

References fInputStream.

Referenced by ~TLstFile().

◆ Filename() [1/2]

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

Get the name of this file.

Definition at line 66 of file TRawFile.h.

References TRawFile::fFilename.

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

◆ Filename() [2/2]

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

Definition at line 67 of file TRawFile.h.

References TRawFile::fFilename.

◆ FileSize() [1/2]

virtual size_t TRawFile::FileSize ( )
inlinevirtualinherited

Definition at line 63 of file TRawFile.h.

References TRawFile::fFileSize.

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

◆ FileSize() [2/2]

void TRawFile::FileSize ( size_t fileSize)
inlineinherited

Definition at line 64 of file TRawFile.h.

References TRawFile::fFileSize.

◆ GetFilename()

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

Get the name of this file.

Definition at line 56 of file TRawFile.h.

References TRawFile::fFilename.

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

◆ GetOdbEvent()

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

Reimplemented in TMidasFile.

Definition at line 75 of file TRawFile.h.

◆ GetRunNumber()

int TLstFile::GetRunNumber ( )
overridevirtual

Implements TRawFile.

Definition at line 240 of file TLstFile.cxx.

References TRawFile::fFilename.

Referenced by Open().

◆ GetSubRunNumber()

int TLstFile::GetSubRunNumber ( )
overridevirtual

Implements TRawFile.

Definition at line 268 of file TLstFile.cxx.

Referenced by Open().

◆ IncrementBytesRead()

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

Definition at line 62 of file TRawFile.h.

References TRawFile::fBytesRead.

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

◆ NbBoards()

int32_t TLstFile::NbBoards ( )
inline

Definition at line 55 of file TLstFile.h.

References fNbBoards.

◆ NbEvents()

int32_t TLstFile::NbEvents ( )
inline

Definition at line 54 of file TLstFile.h.

References fNbEvents.

◆ NewEvent()

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

Implements TRawFile.

Definition at line 58 of file TLstFile.h.

◆ Open()

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

Open input file.

Open a lst .lst file with given file name.

Remote files can be accessed using these special file names:

  • pipein://command - read data produced by given command, see examples below
  • ssh://username@hostname/path/file.mid - read remote file through an ssh pipe
  • ssh://username@hostname/path/file.mid.gz and file.mid.bz2 - same for compressed files
  • dccp://path/file.mid (also file.mid.gz and file.mid.bz2) - read data from dcache, requires dccp in the PATH

Examples:

  • ./event_dump.exe /ladd/data9/t2km11/data/run02696.mid.gz - read normal compressed file
  • ./event_dump.exe ssh://ladd09//ladd/data9/t2km11/data/run02696.mid.gz - read compressed file through ssh to ladd09 (note double "/")
  • ./event_dump.exe pipein://"cat /ladd/data9/t2km11/data/run02696.mid.gz | gzip -dc" - read data piped from a command or script (note quotes)
  • ./event_dump.exe pipein://"gzip -dc /ladd/data9/t2km11/data/run02696.mid.gz" - another way to read compressed files
  • ./event_dump.exe dccp:///pnfs/triumf.ca/data/t2km11/aug2008/run02837.mid.gz - read file directly from a dcache pool (note triple "/")
Parameters
[in]filenameThe file to open.
Returns
"true" for succes, "false" for error, use GetLastError() to see why

Implements TRawFile.

Definition at line 83 of file TLstFile.cxx.

References TRunInfo::ClearVersion(), fBoardHeaders, TRawFile::fFilename, TRawFile::fFileSize, fInputStream, fNbBoards, fNbEvents, TRawFile::fReadBuffer, fTimeBase, fVersion, TRawFile::GetFilename(), GetRunNumber(), GetSubRunNumber(), ParseHeaders(), READ_EVENT_SIZE, TRunInfo::SetDetectorInformation(), TChannel::SetMnemonicClass(), TRunInfo::SetRunInfo(), TRunInfo::SetRunLength(), and TRunInfo::SetVersion().

Referenced by TLstFile().

◆ ParseHeaders()

void TLstFile::ParseHeaders ( )
private

◆ Read()

int TLstFile::Read ( std::shared_ptr< TRawEvent > Event)
overridevirtual

Read one event from the file.

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

Implements TRawFile.

Definition at line 198 of file TLstFile.cxx.

References TRawFile::fBytesRead, TRawFile::fFileSize, fInputStream, TRawFile::fReadBuffer, fVersion, and READ_EVENT_SIZE.

◆ ResizeBuffer()

void TRawFile::ResizeBuffer ( size_t newSize)
inlineinherited

Definition at line 72 of file TRawFile.h.

References TRawFile::fReadBuffer.

Referenced by TMidasFile::ReadMoreBytes().

◆ Skip()

void TLstFile::Skip ( size_t nofEvents)
overridevirtual

Skip nofEvents from the file.

Implements TRawFile.

Definition at line 234 of file TLstFile.cxx.

◆ Status()

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

Implements TRawFile.

Definition at line 56 of file TLstFile.cxx.

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

◆ TimeBase()

int32_t TLstFile::TimeBase ( )
inline

Definition at line 53 of file TLstFile.h.

References fTimeBase.

◆ Version()

int32_t TLstFile::Version ( )
inline

Definition at line 52 of file TLstFile.h.

References fVersion.

Member Data Documentation

◆ fBoardHeaders

int32_t* TLstFile::fBoardHeaders
private

Definition at line 67 of file TLstFile.h.

Referenced by ~TLstFile(), BoardHeaders(), Open(), and ParseHeaders().

◆ fBytesRead

◆ fFilename

std::string TRawFile::fFilename
privateinherited

◆ fFileSize

◆ fInputStream

std::ifstream TLstFile::fInputStream
private

Definition at line 68 of file TLstFile.h.

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

◆ fNbBoards

int32_t TLstFile::fNbBoards
private

Definition at line 66 of file TLstFile.h.

Referenced by NbBoards(), Open(), and ParseHeaders().

◆ fNbEvents

int32_t TLstFile::fNbEvents
private

Definition at line 65 of file TLstFile.h.

Referenced by NbEvents(), and Open().

◆ fReadBuffer

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

◆ fTimeBase

int32_t TLstFile::fTimeBase
private

Definition at line 64 of file TLstFile.h.

Referenced by Open(), and TimeBase().

◆ fVersion

int32_t TLstFile::fVersion
private

Definition at line 63 of file TLstFile.h.

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