Class Index Cross Index Namespace Index

Class FrameCPP::Version_6::IFrameStream

Class to handle frame I/O.
Contained in: FrameCPP::Version_6
Derived from: Common::FrameStreamBase FrameCPP::Version_6::FrameStreamBase
Derived by: none

#include "../../../../../lib/framecpp/src/Version6/IFrameStream.hh"


public function member index:

IFrameStream(std::istream& Stream, int Mode = ( MODE_TOC | MODE_DAQ | MODE_RANDOM_ACCESS )); Constructor
IFrameStream(std::istream& Stream, const std::vector< io_calls_type >& LibraryDefs, INT_4U NumberOfClassTypes, int Mode = ( MODE_TOC | MODE_DAQ | MODE_RANDOM_ACCESS ));
~IFrameStream(); Destructor
void AddContainer(ContainerBasic< T >& C, const PTR_STRUCT& Ref);
void AddPointer(FrBase** Pointer, const PTR_STRUCT& Ref);
void CheckReadBoundry(INT_8U Offset); Ensure that the read boundry is somewhere beyond the data to be read
Frame5ReaderBase& GetExposedFrame5Reader();
FrameReaderBase& GetFrame5Reader();
INT_8U GetLengthOfLastObject() const;
PTR_STRUCT GetNextNode5(); Retrieve the Instance of the next pointer for version 5 frames
INT_4U GetNumberOfFrames() const;
const char* GetOriginator() const; Retrieve the originator of the frame
INT_8U GetPositionH(INT_4U Frame);
const FrTOC* GetTOC() const;
FrAdcData* ReadFrAdcData(INT_4U Frame, const std::string& Channel);
FrAdcData* ReadFrAdcData(INT_4U Frame, INT_4U Channel);
FrAdcData* ReadFrAdcStruct(INT_4U Frame, const std::string& Channel);
FrAdcData* ReadFrAdcStruct(INT_4U Frame, INT_4U Channel);
FrEvent* ReadFrEvent(INT_4U Frame, const std::string& Channel);
FrProcData* ReadFrProcData(INT_4U Frame, const std::string& Channel);
FrProcData* ReadFrProcData(INT_4U Frame, INT_4U Channel);
FrProcData* ReadFrProcStruct(INT_4U Frame, const std::string& Channel);
FrProcData* ReadFrProcStruct(INT_4U Frame, INT_4U Channel);
FrRawData* ReadFrRawData(INT_4U Frame);
FrSerData* ReadFrSerData(INT_4U Frame, const std::string& Channel);
FrSerData* ReadFrSerStruct(INT_4U Frame, const std::string& Channel);
FrSimData* ReadFrSimData(INT_4U Frame, const std::string& Channel);
FrSimEvent* ReadFrSimEvent(INT_4U Frame, const std::string& Channel);
FrSimData* ReadFrSimStruct(INT_4U Frame, const std::string& Channel);
INT_4U ReadFrStatData(const std::string& NamePattern, const std::string& DetectorPattern, const General::GPSTime& StartTime, const General::GPSTime& EndTime, const INT_4U Version, Query& QueryResults); Read FrStatData from the input file
std::auto_ptr< FrStatData > ReadFrStatData(INT_8U Position); Read FrStatData at a given position in the file
FrameH* ReadFrameH(INT_4U Frame, INT_4U ContainerSet);
FrameH* ReadFullFrame(INT_4U Index);
FrameH* ReadNextFrame();
FrBase* ReadObject(); Read the next object
FrBase* ReadObject(FrBase& Base); Read the next object
FrBase* ReadObjectBase(bool SkipUnknown = true); Read the base of most objects
IFrameStream& ReadVector(T& Data, INT_4U Size);
IFrameStream& ReadVector(std::vector< T >& Data, INT_4U Size);
void RemoveContainer(ContainerBasic< T >& C);
void RemovePointer(FrBase** Pointer);
virtual void SetChecksumMethodFile(const CheckSum::kind_type Method);
void SetReadBoundry(INT_8U Boundry = INT_8U( 0 )); Establish the read boundry
void SkipObject(const FrBase& Base) const; Skip over unknown objects.
void clear();
bool eof() const;
bool good() const;
IFrameStream& operator >>(T* Data);
IFrameStream& operator >>(Container< T >& Data); Read container from the stream
IFrameStream& operator >>(T& Data); Read data from the stream
INT_4U read(void* Dest, INT_4U Length, bool CalcChecksum = true);
INT_8U tellg() const;
 

private function member index:

IFrameStream(const IFrameStream&);
void MapRef();
void init();
const IFrameStream& operator =(const IFrameStream&);
std::auto_ptr< FrData > read_fr_data(INT_8U Position);
FrBase* read_object(const PTR_STRUCT& Object);
FrBase* read_objects_through(INT_2U id);
void read_recursive();
FrBase* skip_till_class(INT_2U id);
 

Description:



Function Member Descriptions:


FrameCPP::Version_6::IFrameStream::IFrameStream - Constructor


IFrameStream(std::istream& Stream, int Mode = ( MODE_TOC | MODE_DAQ | MODE_RANDOM_ACCESS ));

Parameters:
ParameterDescription
std::iostream& StreamInput or Output stream



FrameCPP::Version_6::IFrameStream::IFrameStream


IFrameStream(std::istream& Stream, const std::vector< io_calls_type >& LibraryDefs, INT_4U NumberOfClassTypes, int Mode = ( MODE_TOC | MODE_DAQ | MODE_RANDOM_ACCESS ));



FrameCPP::Version_6::IFrameStream::IFrameStream


IFrameStream(const IFrameStream&);



FrameCPP::Version_6::IFrameStream::~IFrameStream - Destructor


~IFrameStream();



FrameCPP::Version_6::IFrameStream::AddContainer


void AddContainer(ContainerBasic< T >& C, const PTR_STRUCT& Ref);



FrameCPP::Version_6::IFrameStream::AddPointer


void AddPointer(FrBase** Pointer, const PTR_STRUCT& Ref);



FrameCPP::Version_6::IFrameStream::CheckReadBoundry - Ensure that the read boundry is somewhere beyond the data to be read


void CheckReadBoundry(INT_8U Offset);

Parameters:
ParameterDescription
INT_8U OffsetNumber of bytes to read

Return value:
nothingThis method will throw an exception if reading Offset number of bytes would extend beyond the current value of m_road_block


FrameCPP::Version_6::IFrameStream::GetExposedFrame5Reader


Frame5ReaderBase& GetExposedFrame5Reader();



FrameCPP::Version_6::IFrameStream::GetFrame5Reader


FrameReaderBase& GetFrame5Reader();



FrameCPP::Version_6::IFrameStream::GetLengthOfLastObject


INT_8U GetLengthOfLastObject() const;



FrameCPP::Version_6::IFrameStream::GetNextNode5 - Retrieve the Instance of the next pointer for version 5 frames


PTR_STRUCT GetNextNode5();



FrameCPP::Version_6::IFrameStream::GetNumberOfFrames


INT_4U GetNumberOfFrames() const;



FrameCPP::Version_6::IFrameStream::GetOriginator - Retrieve the originator of the frame


const char* GetOriginator() const;



FrameCPP::Version_6::IFrameStream::GetPositionH


INT_8U GetPositionH(INT_4U Frame);



FrameCPP::Version_6::IFrameStream::GetTOC


const FrTOC* GetTOC() const;



FrameCPP::Version_6::IFrameStream::MapRef


void MapRef();



FrameCPP::Version_6::IFrameStream::ReadFrAdcData


FrAdcData* ReadFrAdcData(INT_4U Frame, const std::string& Channel);



FrameCPP::Version_6::IFrameStream::ReadFrAdcData


FrAdcData* ReadFrAdcData(INT_4U Frame, INT_4U Channel);



FrameCPP::Version_6::IFrameStream::ReadFrAdcStruct


FrAdcData* ReadFrAdcStruct(INT_4U Frame, const std::string& Channel);



FrameCPP::Version_6::IFrameStream::ReadFrAdcStruct


FrAdcData* ReadFrAdcStruct(INT_4U Frame, INT_4U Channel);



FrameCPP::Version_6::IFrameStream::ReadFrEvent


FrEvent* ReadFrEvent(INT_4U Frame, const std::string& Channel);



FrameCPP::Version_6::IFrameStream::ReadFrProcData


FrProcData* ReadFrProcData(INT_4U Frame, const std::string& Channel);



FrameCPP::Version_6::IFrameStream::ReadFrProcData


FrProcData* ReadFrProcData(INT_4U Frame, INT_4U Channel);



FrameCPP::Version_6::IFrameStream::ReadFrProcStruct


FrProcData* ReadFrProcStruct(INT_4U Frame, const std::string& Channel);



FrameCPP::Version_6::IFrameStream::ReadFrProcStruct


FrProcData* ReadFrProcStruct(INT_4U Frame, INT_4U Channel);



FrameCPP::Version_6::IFrameStream::ReadFrRawData


FrRawData* ReadFrRawData(INT_4U Frame);



FrameCPP::Version_6::IFrameStream::ReadFrSerData


FrSerData* ReadFrSerData(INT_4U Frame, const std::string& Channel);



FrameCPP::Version_6::IFrameStream::ReadFrSerStruct


FrSerData* ReadFrSerStruct(INT_4U Frame, const std::string& Channel);



FrameCPP::Version_6::IFrameStream::ReadFrSimData


FrSimData* ReadFrSimData(INT_4U Frame, const std::string& Channel);



FrameCPP::Version_6::IFrameStream::ReadFrSimEvent


FrSimEvent* ReadFrSimEvent(INT_4U Frame, const std::string& Channel);



FrameCPP::Version_6::IFrameStream::ReadFrSimStruct


FrSimData* ReadFrSimStruct(INT_4U Frame, const std::string& Channel);



FrameCPP::Version_6::IFrameStream::ReadFrStatData - Read FrStatData from the input file


INT_4U ReadFrStatData(const std::string& NamePattern, const std::string& DetectorPattern, const General::GPSTime& StartTime, const General::GPSTime& EndTime, const INT_4U Version, Query& QueryResults);



FrameCPP::Version_6::IFrameStream::ReadFrStatData - Read FrStatData at a given position in the file


std::auto_ptr< FrStatData > ReadFrStatData(INT_8U Position);



FrameCPP::Version_6::IFrameStream::ReadFrameH


FrameH* ReadFrameH(INT_4U Frame, INT_4U ContainerSet);



FrameCPP::Version_6::IFrameStream::ReadFullFrame


FrameH* ReadFullFrame(INT_4U Index);



FrameCPP::Version_6::IFrameStream::ReadNextFrame


FrameH* ReadNextFrame();



FrameCPP::Version_6::IFrameStream::ReadObject - Read the next object


FrBase* ReadObject();



FrameCPP::Version_6::IFrameStream::ReadObject - Read the next object


FrBase* ReadObject(FrBase& Base);



FrameCPP::Version_6::IFrameStream::ReadObjectBase - Read the base of most objects


FrBase* ReadObjectBase(bool SkipUnknown = true);



FrameCPP::Version_6::IFrameStream::ReadVector


IFrameStream& ReadVector(T& Data, INT_4U Size);



FrameCPP::Version_6::IFrameStream::ReadVector


IFrameStream& ReadVector(std::vector< T >& Data, INT_4U Size);



FrameCPP::Version_6::IFrameStream::RemoveContainer


void RemoveContainer(ContainerBasic< T >& C);



FrameCPP::Version_6::IFrameStream::RemovePointer


void RemovePointer(FrBase** Pointer);



FrameCPP::Version_6::IFrameStream::SetChecksumMethodFile


virtual void SetChecksumMethodFile(const CheckSum::kind_type Method);



FrameCPP::Version_6::IFrameStream::SetReadBoundry - Establish the read boundry


void SetReadBoundry(INT_8U Boundry = INT_8U( 0 ));



FrameCPP::Version_6::IFrameStream::SkipObject - Skip over unknown objects.


void SkipObject(const FrBase& Base) const;



FrameCPP::Version_6::IFrameStream::clear


void clear();



FrameCPP::Version_6::IFrameStream::eof


bool eof() const;



FrameCPP::Version_6::IFrameStream::good


bool good() const;



FrameCPP::Version_6::IFrameStream::init


void init();



FrameCPP::Version_6::IFrameStream::operator =


const IFrameStream& operator =(const IFrameStream&);



FrameCPP::Version_6::IFrameStream::operator >>


IFrameStream& operator >>(T* Data);



FrameCPP::Version_6::IFrameStream::operator >> - Read container from the stream


IFrameStream& operator >>(Container< T >& Data);



FrameCPP::Version_6::IFrameStream::operator >> - Read data from the stream


IFrameStream& operator >>(T& Data);



FrameCPP::Version_6::IFrameStream::read


INT_4U read(void* Dest, INT_4U Length, bool CalcChecksum = true);
Read in a number of bytes

Parameters:
ParameterDescription
void *DestPointer to buffer receiving the data.
INT_4U LengthNumber of bytes to read.
bool CalcChecksumtrue if checksum is to be calcuted, false otherwise

Return value:
INT_4UNumber of bytes actually read.


FrameCPP::Version_6::IFrameStream::read_fr_data


std::auto_ptr< FrData > read_fr_data(INT_8U Position);



FrameCPP::Version_6::IFrameStream::read_object


FrBase* read_object(const PTR_STRUCT& Object);



FrameCPP::Version_6::IFrameStream::read_objects_through


FrBase* read_objects_through(INT_2U id);



FrameCPP::Version_6::IFrameStream::read_recursive


void read_recursive();



FrameCPP::Version_6::IFrameStream::skip_till_class


FrBase* skip_till_class(INT_2U id);



FrameCPP::Version_6::IFrameStream::tellg


INT_8U tellg() const;



Variable Member Descriptions:


FrameCPP::Version_6::IFrameStream::MODE_DAQ -

static const int MODE_DAQ;

FrameCPP::Version_6::IFrameStream::MODE_RANDOM_ACCESS -

static const int MODE_RANDOM_ACCESS;

FrameCPP::Version_6::IFrameStream::MODE_SEQUENTIAL -

static const int MODE_SEQUENTIAL;

FrameCPP::Version_6::IFrameStream::MODE_TOC -

static const int MODE_TOC;

FrameCPP::Version_6::IFrameStream::m_frame_5_reader -

Frame5ReaderBase* m_frame_5_reader;
Reader for version 3, 4 and 5 frames


FrameCPP::Version_6::IFrameStream::m_length_of_last_object -

INT_8U m_length_of_last_object;

FrameCPP::Version_6::IFrameStream::m_mode -

int m_mode;
Mode of stream


FrameCPP::Version_6::IFrameStream::m_next_frame -

INT_4U m_next_frame;

FrameCPP::Version_6::IFrameStream::m_road_block - Do not read beyond this value

INT_8U m_road_block;
This value is intended to be a soft marker of where the end of a structure should be


FrameCPP::Version_6::IFrameStream::m_stream -

std::istream& m_stream;
Input stream.


FrameCPP::Version_6::IFrameStream::m_toc -

std::auto_ptr< FrTOC > m_toc;