ROOT logo
(UNKNOWN PRODUCT) » TRANSPORT » TMrbTransport

class TMrbTransport: public TNamed

__________________________________________________[C++ CLASS IMPLEMENTATION]

 Name:           transport/src/TMrbTransport.cxx

 Purpose:        MARaBOU transport mechanism

 Description:    Implements class methods to read MBS data from file or server

 Author:         R. Lutter
 Mailto:         <a href=mailto:rudi.lutter@physik.uni-muenchen.de>R. Lutter</a>
 Revision:       $Id: TMrbTransport.cxx,v 1.17 2006-11-07 12:25:31 Rudolf.Lutter Exp $
 Date:

Function Members (Methods)

public:
TMrbTransport(const Char_t*, const Char_t* XptTitle = "")
virtual~TMrbTransport()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
voidClearError()
virtual TObject*TNamed::Clone(const char* newname = "") const
Bool_tClose()
Bool_tCloseLMDFile()
Bool_tCloseMEDFile()
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Bool_tFreeBuffers()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
MBSDataIO*GetMbsBase()
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
voidHelp()
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsError()
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tIsToBeStopped()
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
const UShort_t*NextSubevent()
UInt_tNextSubevent(UShort_t*)
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
Bool_tOpen(const Char_t*, const Char_t* Mode = "FILE", Int_t BufferSize = TMrbTransport::kSizeOfData)
Bool_tOpenLMDFile(const Char_t* LMDFile)
Bool_tOpenLogFile(const Char_t*)
Bool_tOpenMEDFile(const Char_t* MEDFile)
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TNamed&TNamed::operator=(const TNamed& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
Bool_tPrintMbsIoError(const Char_t*)
virtual Bool_tProcessEvent(s_vehe*)
virtual Int_tTObject::Read(const char* name)
Int_tReadEvents(Int_t NofEvents = 0)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
Bool_tSetDumpInterval(Int_t NofRecs = 0)
voidSetError()
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
Bool_tSetShow(const Char_t* BufElemStr = "Events:Subevents", Int_t ScaleDown = 100, const Char_t* Output = NULL)
Bool_tSetStat(Int_t ScaleDown = 100, const Char_t* Output = NULL)
voidSetStopFlag(Bool_t Flag = kTRUE)
Bool_tSetStream(Int_t MaxStreams = 0, Int_t SlowDown = 0)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
Bool_tShow(const Char_t* BufElemKey = "Subevents", const Char_t* Output = NULL)
virtual voidShowMembers(TMemberInspector&)
Bool_tShowStat(const Char_t* Output = NULL)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
UInt_tSubeventID()
UInt_tSubeventWC()
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
Bool_tVersion()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum { kSizeOfData
kERROR
kEOF
kEOE
kMaxErrors
};
enum EMrbRunStatus { kReady
kRunning
kTerminate
kError
};
enum EMrbTransportMode { kUndefined
kSync
kAsync
kFile
kRemote
};
enum EMrbBufferElements { kBufferHeader
kFileHeader
kEventHeader
kSubeventHeader
kSubeventData
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
public:
TMrbLofNamedXfLofBufferElements... buffer elements
TMrbLofNamedXfLofTransportModes... transport modes
protected:
Int_tfBufferSizebuffer size
Bool_tfErrorFlagerror indicator
TStringfErrorStringerror message
TStringfInputFileinput file
MBSDataIO*fMBSDataIOi/o data base
TStringTNamed::fNameobject identifier
Bool_tfStopFlagkTRUE if to be stopped
TStringTNamed::fTitleobject title
TMrbTransport::EMrbTransportModefTransportModetransport mode

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TMrbTransport(const Char_t* , const Char_t* XptTitle = "")
__________________________________________________________________[C++ CTOR]

 Name:           TMrbTransport

 Purpose:        Create a MARaBOU transport object
 Arguments:      Char_t * XptName  -- name of transport
                 Char_t * XptTitle -- (opt.) title
 Exceptions:
 Description:    Class constructor
 Keywords:

Bool_t Open(const Char_t* , const Char_t* Mode = "FILE", Int_t BufferSize = TMrbTransport::kSizeOfData)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::Open
 Purpose:        Open connection (file or network)
 Arguments:      Char_t * File     -- file name or network addr
                 Char_t * Mode     -- transport mode (FILE, SYNC, ASYNC, or REMOTE)
                 Int_t BufferSize  -- buffer size (default is 16k)
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Opens a connection to MBS: either reading from file or via network.
 Keywords:

Bool_t Close()
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::Close
 Purpose:        Close connection (file or network)
 Arguments:      --
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Closes an open connection to MBS.
 Keywords:

Bool_t FreeBuffers()
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::FreeBuffers
 Purpose:        Free data base buffers
 Arguments:      --
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Removes data base.
 Keywords:

Int_t ReadEvents(Int_t NofEvents = 0)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::ReadEvents
 Purpose:        Read events from buffer
 Arguments:      Int_t NofEvents  -- number of events to be read (0 = ad infinitum)
 Results:        Int_t Rstatus    -- status info
 Exceptions:
 Description:    Reads a given number of events from MBS buffer.
 Keywords:

UInt_t NextSubevent(UShort_t* )
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::NextSubevent
 Purpose:        Get next subevent
 Arguments:      UShort_t SevtData  -- pointer to (unpacked) subevent data
 Results:        Int_t Swc          -- word count
 Exceptions:
 Description:    Unpacks next subevent from current event.
 Keywords:

Bool_t ProcessEvent(s_vehe* )
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::ProcessEvent
 Purpose:        Process event data
 Arguments:      s_vehe * EventData  -- pointer to event data (including header)
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    This is the event filling function.
                 User will be called by method Analyze().
 Keywords:

const UShort_t * NextSubevent()
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::NextSubevent
 Purpose:        Get next subevent
 Arguments:      none
 Results:        const UShort_t * SevtData  -- pointer to current (unpacked) data
 Exceptions:
 Description:    Unpacks next subevent from current event.
 Keywords:

Bool_t Show(const Char_t* BufElemKey = "Subevents", const Char_t* Output = NULL)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::Show
 Purpose:        Show buffer elem data
 Arguments:      Char_t * BufElemKey  -- buffer elem key (one char out of "FBES")
                 Char_t * Output      -- output stream (NULL = stdout)
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Outputs samples of buffer element data.
                 Buffer element may be: F(ileheader), B(uffer), E(vent), or S(ubevent)
 Keywords:

Bool_t SetShow(const Char_t* BufElemStr = "Events:Subevents", Int_t ScaleDown = 100, const Char_t* Output = NULL)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::SetShow
 Purpose:        Define show profile
 Arguments:      Char_t * BufElemStr  -- string of buffer elem keys (out of "FBES")
                 Int_t ScaleDown      -- scale down
                 Char_t * Output      -- output stream (NULL = stdout)
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Defines which buffer elements to be shown automatically.
                 Buffer elements may be: F(ileheader), B(uffer), E(vent), or S(ubevent)
 Keywords:

Bool_t ShowStat(const Char_t* Output = NULL)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::ShowStat
 Purpose:        Show events statistics
 Arguments:      Char_t * Output  -- output stream (NULL = stdout)
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Outputs events statistics.
 Keywords:

Bool_t SetStat(Int_t ScaleDown = 100, const Char_t* Output = NULL)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::SetStat
 Purpose:        Define statistics profile
 Arguments:      Int_t ScaleDown  -- scale down
                 Char_t * Output  -- output stream (NULL = stdout)
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Defines a scale down factor for automatic stats output.
 Keywords:

Bool_t SetStream(Int_t MaxStreams = 0, Int_t SlowDown = 0)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::SetStream
 Purpose:        Define stream profile
 Arguments:      Int_t MaxStreams  -- max number of streams to be processed (0 = ad infinitum)
                 Int_t SlowDown    -- number of secs to wait after each request
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Defines how many streams to be processed.
 Keywords:

Bool_t SetDumpInterval(Int_t NofRecs = 0)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::SetDumpInterval
 Purpose:        Define dump interval
 Arguments:      Int_t NofRecs   -- dump interval
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Defines when to dump records to disk.
 Keywords:

Bool_t OpenMEDFile(const Char_t* MEDFile)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::OpenMEDFile
 Purpose:        Open MED file
 Arguments:      Char_t * MEDFile    -- file name
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Opens a file to write data as MBS events.
 Keywords:

Bool_t CloseMEDFile()
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::CloseMEDFile
 Purpose:        Close MED file
 Arguments:      --
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Closes MED file which is currently open
 Keywords:

Bool_t OpenLMDFile(const Char_t* LMDFile)
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::OpenLMDFile
 Purpose:        Open LMD file
 Arguments:      Char_t * LMDFile    -- lmd file
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Opens a file to write original LMD data.
 Keywords:

Bool_t CloseLMDFile()
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::CloseLMDFile
 Purpose:        Close LMD file
 Arguments:      --
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Closes LMD file which is currently open
 Keywords:

Bool_t OpenLogFile(const Char_t* )
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::OpenLogFile
 Purpose:        Open file for log output
 Arguments:      Char_t * LogFile    -- log file
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Opens a file for data/error logging.
 Keywords:

Bool_t PrintMbsIoError(const Char_t* )
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::PrintMbsIoError
 Purpose:        Output errors coming from mbsio package
 Arguments:      Char_t * Prefix  -- prefix to be output in front
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Reports errors passed over by mbsio package.
 Keywords:

Bool_t Version()
________________________________________________________________[C++ METHOD]

 Name:           TMrbTransport::Version
 Purpose:        Output version
 Arguments:      --
 Results:        kTRUE
 Exceptions:
 Description:    Outputs some welcome text.
 Keywords:

~TMrbTransport()
{}
UInt_t SubeventWC()
{ return(fMBSDataIO->sevt_wc); }
UInt_t SubeventID()
{ return(fMBSDataIO->sevt_id); }
MBSDataIO * GetMbsBase()
{ return(fMBSDataIO); }
Bool_t IsError()
{ return(fErrorFlag); }
void ClearError()
void SetError()
void SetStopFlag(Bool_t Flag = kTRUE)
{ fStopFlag = Flag; }
Bool_t IsToBeStopped()
{ return(fStopFlag); }
void Help()
{ gSystem->Exec(Form("mrbHelp %s", this->ClassName())); }