| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DayaBay::FeeTailFragment Class Reference

#include <RawData.h>

Inheritance diagram for DayaBay::FeeTailFragment:

[legend]
Collaboration diagram for DayaBay::FeeTailFragment:
[legend]
List of all members.

Public Member Functions

 FeeTailFragment (unsigned int *buffer=0, unsigned int majorVersion=0, unsigned int minorVersion=0, bool isOwner=false)
 ~FeeTailFragment ()
virtual unsigned int tailType () const
virtual std::ostream & dump (std::ostream &str)
virtual unsigned int size () const
unsigned int dataSize () const
unsigned int type () const
unsigned int majorVersion () const
unsigned int minorVersion () const
bool isEventType () const
bool isModuleType () const
unsigned int * buffer () const
unsigned int bufferSize () const
bool isOwner () const
void setOwner (bool isOwner=true)
virtual bool isValid () const
unsigned int * getPointer (const unsigned int &line) const
unsigned int getValue (const unsigned int &line, const unsigned int &firstBit=0, const unsigned int &bitLength=32) const
char * getString (const unsigned int &line, const unsigned int &byteOffset=0) const

Static Public Member Functions

static DayaBay::RawDatamakeNewData (unsigned int *buffer=0, unsigned int majorVersion=0, unsigned int minorVersion=0, bool isOwner=false)

Protected Attributes

unsigned int m_majorVersion
unsigned int m_minorVersion

Detailed Description

Definition at line 109 of file RawData.h.


Constructor & Destructor Documentation

DayaBay::FeeTailFragment::FeeTailFragment ( unsigned int *  buffer = 0,
unsigned int  majorVersion = 0,
unsigned int  minorVersion = 0,
bool  isOwner = false 
)

Definition at line 922 of file RawData.cc.

00926   : TailFragment(buffer,majorVersion,minorVersion,isOwner)
00927 {
00928   // Default constructor
00929 }

DayaBay::FeeTailFragment::~FeeTailFragment (  ) 

Definition at line 931 of file RawData.cc.

00932 {
00933   // Destructor
00934 }


Member Function Documentation

unsigned int DayaBay::FeeTailFragment::tailType (  )  const [virtual]

Reimplemented from DayaBay::TailFragment.

Definition at line 936 of file RawData.cc.

00937 {
00938   return DataFormat::FeeTailFragment::tailType;
00939 }

std::ostream & DayaBay::FeeTailFragment::dump ( std::ostream &  str  )  [virtual]

Reimplemented from DayaBay::TailFragment.

Definition at line 941 of file RawData.cc.

00941                                                        {
00942   // Print the module information
00943   str << "FeeTailFragment {" << std::endl; 
00944   this->TailFragment::dump(str);
00945   return str << "}" << std::endl;
00946 }

unsigned int DayaBay::TailFragment::size (  )  const [virtual, inherited]

Reimplemented from DayaBay::RawFragment.

Definition at line 762 of file RawData.cc.

00763 {
00764   return DataFormat::TailFragment::size;
00765 }

unsigned int DayaBay::TailFragment::dataSize (  )  const [inherited]

Definition at line 772 of file RawData.cc.

unsigned int DayaBay::RawFragment::type (  )  const [inherited]

Reimplemented from DayaBay::RawData.

Definition at line 681 of file RawData.cc.

unsigned int DayaBay::RawData::majorVersion (  )  const [inherited]

Definition at line 58 of file RawData.cc.

00059 {
00060   // Return the major version of this data
00061   return m_majorVersion;
00062 }

unsigned int DayaBay::RawData::minorVersion (  )  const [inherited]

Definition at line 64 of file RawData.cc.

00065 {
00066   // Return the minor version of this data
00067   return m_minorVersion;
00068 }

bool DayaBay::RawData::isEventType (  )  const [inherited]

Definition at line 46 of file RawData.cc.

00047 {
00048   // Is this event data?
00049   return (this->type()==DataFormat::Event::type);
00050 }

bool DayaBay::RawData::isModuleType (  )  const [inherited]

Definition at line 52 of file RawData.cc.

00053 {
00054   // Is this module data?
00055   return (this->type()==DataFormat::Module::type);
00056 }

DayaBay::RawData * DayaBay::RawData::makeNewData ( unsigned int *  buffer = 0,
unsigned int  majorVersion = 0,
unsigned int  minorVersion = 0,
bool  isOwner = false 
) [static, inherited]

Definition at line 101 of file RawData.cc.

00104                                                                        {
00105   // Make a new raw data object.  Automatically set the correct class
00106   // type using the type() defined in the raw data.
00107   // 
00108   // The caller is responsible for deleting the returned data object.
00109   
00110   DayaBay::RawData* newData = 0;
00111   // Convert to the proper record type
00112   DayaBay::RawData rawData(buffer,majorVersion,minorVersion);
00113   if( rawData.isEventType() ){
00114     newData = new DayaBay::RawEvent(buffer, majorVersion, minorVersion, 
00115                                     isOwner);
00116   }else if( rawData.isModuleType() ){
00117     newData = new DayaBay::RawModule(buffer, majorVersion, minorVersion, 
00118                                      isOwner);
00119   }else{
00120     newData = new DayaBay::RawData(buffer, majorVersion, minorVersion,
00121                                    isOwner);
00122   }
00123   return newData;
00124 }

unsigned int * DayaBay::RawBuffer::buffer (  )  const [inherited]

Definition at line 52 of file RawBuffer.cc.

00053 {
00054   // Return the pointer to the internal memory buffer
00055   return m_buffer;
00056 }

unsigned int DayaBay::RawBuffer::bufferSize (  )  const [inherited]

Definition at line 58 of file RawBuffer.cc.

00059 {
00060   // Return the allocated size of the internal memory buffer, if known
00061   return m_bufferSize;
00062 }

bool DayaBay::RawBuffer::isOwner (  )  const [inherited]

Definition at line 64 of file RawBuffer.cc.

00065 {
00066   // Does this RawBuffer own this memory buffer?
00067   return m_isOwner;
00068 }

void DayaBay::RawBuffer::setOwner ( bool  isOwner = true  )  [inherited]

Definition at line 70 of file RawBuffer.cc.

00070                                                     {
00071   m_isOwner = isOwner;
00072 }

bool DayaBay::RawBuffer::isValid (  )  const [virtual, inherited]

Definition at line 74 of file RawBuffer.cc.

00075 {
00076   // Does this RawBuffer contain data?
00077   return (m_buffer != 0);
00078 }

unsigned int * DayaBay::RawBuffer::getPointer ( const unsigned int &  line  )  const [inherited]

Definition at line 80 of file RawBuffer.cc.

00081 {
00082   // Return a pointer to a specific line in the data block
00083   if(m_bufferSize>0 && line>=m_bufferSize) return 0;
00084   return (m_buffer + line);
00085 }

unsigned int DayaBay::RawBuffer::getValue ( const unsigned int &  line,
const unsigned int &  firstBit = 0,
const unsigned int &  bitLength = 32 
) const [inherited]

Definition at line 87 of file RawBuffer.cc.

00090 {
00091   // Read a value from the memory buffer
00092   // line = line number in the memory block (line = integer length)
00093   // firstBit = first bit to read (max=31)
00094   // bitLength =  length of bits to read (max=32)
00095   if(bitLength>32 || firstBit>31) return 0;
00096   unsigned int* pointer = this->getPointer(line);
00097   if(!pointer) return 0;
00098   // Catch request for full line
00099   if(firstBit==0 && bitLength==32) return *pointer;
00100   // Prepare bit mask
00101   unsigned int oneBit = 0x1;
00102   unsigned int mask = 0;
00103   for(unsigned int shift=0; shift<bitLength; shift++) 
00104     mask += (oneBit << shift);
00105   // Shift value, mask, and return
00106   return (*pointer >> firstBit) & mask;
00107 }

char * DayaBay::RawBuffer::getString ( const unsigned int &  line,
const unsigned int &  byteOffset = 0 
) const [inherited]

Definition at line 109 of file RawBuffer.cc.

00111 {
00112   // Return a char pointer to a specific byte in the data block
00113   // line = line number in the memory block (line = integer length)
00114   // byteOffset = offset if string starts at an uneven byte position (max=3)
00115   if(byteOffset>3) return 0;
00116   unsigned int* pointer = this->getPointer(line);
00117   if(!pointer) return 0;
00118   return (char*)(pointer + byteOffset);
00119 }


Member Data Documentation

unsigned int DayaBay::RawData::m_majorVersion [protected, inherited]

Definition at line 32 of file RawData.h.

unsigned int DayaBay::RawData::m_minorVersion [protected, inherited]

Definition at line 33 of file RawData.h.


The documentation for this class was generated from the following files:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:07:28 2011 for RawData by doxygen 1.4.7