GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
TGo4MbsFile Class Reference

Implements the gsi mbs lmd file source. More...

#include <TGo4MbsFile.h>

+ Inheritance diagram for TGo4MbsFile:

Public Member Functions

 TGo4MbsFile ()
 
 TGo4MbsFile (const char *name)
 
 TGo4MbsFile (TGo4MbsFileParameter *par)
 
 ~TGo4MbsFile ()
 
Int_t Close () override
 Close the file or connection.
 
const char * GetActiveName () const override
 interface from eventsource base class to give active file
 
const char * GetCurrentFileName () const
 
const char * GetCurrentTagName () const
 
const char * GetTagName () const
 Name of the Tagfile.
 
Int_t NextEvent () override
 Requests the next event from mbs source.
 
Int_t Open () override
 Open the file or connection.
 
- Public Member Functions inherited from TGo4MbsSource
 TGo4MbsSource ()
 default for streamer
 
 TGo4MbsSource (const char *name, Int_t mode)
 
 TGo4MbsSource (TGo4MbsSourceParameter *par, Int_t mode)
 
virtual ~TGo4MbsSource ()
 
Bool_t BuildEvent (TGo4EventElement *dest) override
 Fill the destination event.
 
void BuildMbsEvent (TGo4MbsEvent *target)
 This methods actually fills the target event class which is passed as pointer.
 
TGo4MbsSubEventBuildMbsSubEvent (TGo4MbsEvent *target, Int_t fullID, Short_t *source, Int_t datalength)
 Auxiliary function to fill datalength words (Short_t) from source into the next subevent of target with matching header fullID longword.
 
Bool_t CheckEventClass (TClass *cl) override
 Check that filled event is a proper class.
 
virtual s_bufheGetBufferHeader ()
 User access to current event buffer header.
 
s_filheGetInfoHeader () const
 User access to info header.
 
void SetDataCopyMode (Bool_t on)
 
void SetEventInterval (UInt_t skipinterval)
 
void SetPort (Int_t port)
 
void SetPrintEvent (Int_t num=1, Int_t sid=-1, Int_t longw=1, Int_t hexw=1, Int_t dataw=0)
 Set mbs source into printout (verbose) mode for the next num events.
 
void SetStartEvent (UInt_t firstindex)
 Define the Start index for the NextEvent.
 
void SetStopEvent (UInt_t lastindex)
 
void SetTimeout (Int_t time)
 
- Public Member Functions inherited from TGo4EventSource
 TGo4EventSource ()
 
 TGo4EventSource (const char *name)
 
virtual ~TGo4EventSource ()
 
void Clear (Option_t *opt="") override
 
Int_t GetCreateStatus () const
 Status value of server/file open.
 
const char * GetErrMess () const
 Status/ error message of the last event.
 
Int_t GetEventStatus () const
 Status of the last event.
 

Static Public Attributes

static const char * fgcFILELISTSUF =".lml"
 standard suffix for list of listmode files
 
static const char * fgcLMDSUF =".lmd"
 standard suffix for listmode data files
 
static const char * fgcNOTAGFILE ="GO4-NOLMDTAG"
 string to indicate that no lmd tagfile is chosen
 
- Static Public Attributes inherited from TGo4MbsSource
static const UInt_t fguEVHEBYCHAR = sizeof(s_evhe) / sizeof(Char_t)
 ratio sizeof(s_evhe) by sizeof(char).
 
static const UInt_t fguLONGBYCHAR = sizeof(Int_t) / sizeof(Char_t)
 ratio sizeof(long) by sizeof(char).
 
static const UInt_t fguLONGBYSHORT = sizeof(Int_t) / sizeof(Short_t)
 ratio sizeof(long) by sizeof(short).
 
static const UInt_t fguSHORTBYCHAR = sizeof(Short_t) / sizeof(Char_t)
 ratio sizeof(short) by sizeof(char).
 
- Static Public Attributes inherited from TGo4EventSource
static const Int_t fgiTIMEOUTDEFAULT =1
 Default timeout in seconds for event input.
 

Private Member Functions

void AddFileName (const char *name, const char *tagname=nullptr, bool isonly=kFALSE)
 
Int_t CloseFile ()
 Close current file/tagfile.
 
Int_t NewFileAction (Bool_t dosave=kTRUE)
 Called whenever new file is opened in multiple mode.
 
Int_t NextFile ()
 For multiple input mode: Open next file in list.
 
Int_t OpenFile ()
 Open current file/tagfile.
 

Private Attributes

Bool_t fbFileOpen {kFALSE}
 This indicates if the current file is open or not.
 
Bool_t fbShowInfo {kFALSE}
 Indicates if mbs file should show information about new open file.
 
TString fxCurrentFile
 Currently processed file (for multiple input mode)
 
TString fxCurrentTag
 Currently processed tagfile (for multiple input mode)
 
TList * fxMultiFile {nullptr}
 file that contains the list of mbs filenames.
 
TString fxTagFile
 Name of the tagfile associated with the listmode event file.
 

Additional Inherited Members

- Static Public Member Functions inherited from TGo4MbsSource
static void SetPollingMode (Bool_t on=kTRUE)
 
- Protected Types inherited from TGo4EventSource
enum  { fguTXTLEN = 256 }
 text length More...
 
- Protected Member Functions inherited from TGo4EventSource
void SetCreateStatus (Int_t status)
 Status value of event source init (file/server open).
 
void SetErrMess (const char *txt)
 To be used for modification of the message by the event source implementation.
 
void SetEventStatus (Int_t status)
 Status of the last event.
 
void ThrowEOF (Int_t creastat, Int_t errstat, const char *message,...)
 EOF thrower.
 
void ThrowError (Int_t creastat, Int_t errstat, const char *message,...)
 Exception thrower.
 
- Protected Attributes inherited from TGo4MbsSource
Bool_t fbDataCopyMode {kFALSE}
 switches buildmbs event mode: if true, data buffer is copied to own buffer of subevent.
 
Bool_t fbFirstEvent {kFALSE}
 Indicates if first event should be extracted.
 
Bool_t fbIsOpen {kFALSE}
 
Bool_t fbPollingMode {kFALSE}
 
Int_t fiPort {0}
 if true, use short timeout to keep gSystem->ProcessEvents() running
 
Int_t fiTimeout {0}
 Timeout in seconds for mbs getevent.
 
ULong_t fuEventCounter {0}
 Current event index counter.
 
ULong_t fuEventInterval {0}
 Number of events to skip from file in between two read events.
 
ULong_t fuStartEvent {0}
 Index of first event to process.
 
ULong_t fuStopEvent {0}
 Index of last event to process.
 
s_bufhefxBuffer {nullptr}
 Points to the current gsi buffer structure filled by the event source.
 
s_ve10_1fxEvent {nullptr}
 
s_filhefxInfoHeader {nullptr}
 Reference to header info delivered by source.
 
s_evt_channelfxInputChannel {nullptr}
 Event channel structure used by event source.
 
TGo4MbsSourcePrintPar fxPrEventPar
 This structure keeps parameters for printevent mode.
 
- Static Protected Attributes inherited from TGo4MbsSource
static Bool_t gbPollingMode = kFALSE
 

Detailed Description

Implements the gsi mbs lmd file source.

This is an alias for the TGo4MbsSource class with parameter GETEVT__FILE

Author
J. Adamczewski
Since
1/2001

Definition at line 30 of file TGo4MbsFile.h.

Constructor & Destructor Documentation

◆ TGo4MbsFile() [1/3]

◆ TGo4MbsFile() [2/3]

TGo4MbsFile::TGo4MbsFile ( )

◆ TGo4MbsFile() [3/3]

◆ ~TGo4MbsFile()

TGo4MbsFile::~TGo4MbsFile ( )

Definition at line 93 of file TGo4MbsFile.cxx.

References Close(), fxMultiFile, and GO4TRACE.

Member Function Documentation

◆ AddFileName()

void TGo4MbsFile::AddFileName ( const char * name,
const char * tagname = nullptr,
bool isonly = kFALSE )
private

◆ Close()

Int_t TGo4MbsFile::Close ( )
overridevirtual

Close the file or connection.

Reimplemented from TGo4MbsSource.

Definition at line 252 of file TGo4MbsFile.cxx.

References CloseFile(), TGo4MbsSource::fbIsOpen, fxMultiFile, TGo4EventSource::GetCreateStatus(), GETEVT__SUCCESS, and GO4TRACE.

Referenced by ~TGo4MbsFile().

◆ CloseFile()

Int_t TGo4MbsFile::CloseFile ( )
private

Close current file/tagfile.

Definition at line 407 of file TGo4MbsFile.cxx.

References f_evt_get_tagclose(), fbFileOpen, TGo4MbsSource::fxInputChannel, and GETEVT__SUCCESS.

Referenced by Close(), and NextFile().

◆ GetActiveName()

const char * TGo4MbsFile::GetActiveName ( ) const
overridevirtual

interface from eventsource base class to give active file

Reimplemented from TGo4EventSource.

Definition at line 435 of file TGo4MbsFile.cxx.

References GetCurrentFileName().

◆ GetCurrentFileName()

const char * TGo4MbsFile::GetCurrentFileName ( ) const
inline

Definition at line 55 of file TGo4MbsFile.h.

References fxCurrentFile.

Referenced by GetActiveName(), NewFileAction(), NextEvent(), Open(), and OpenFile().

◆ GetCurrentTagName()

const char * TGo4MbsFile::GetCurrentTagName ( ) const
inline

Definition at line 53 of file TGo4MbsFile.h.

References fxCurrentTag.

Referenced by NextEvent(), and OpenFile().

◆ GetTagName()

const char * TGo4MbsFile::GetTagName ( ) const
inline

Name of the Tagfile.

Definition at line 51 of file TGo4MbsFile.h.

References fxTagFile.

Referenced by NextFile().

◆ NewFileAction()

Int_t TGo4MbsFile::NewFileAction ( Bool_t dosave = kTRUE)
private

Called whenever new file is opened in multiple mode.

For ctor, argument dosave should be false (no autosave possible inside InitEventClasses())

Definition at line 415 of file TGo4MbsFile.cxx.

References TGo4Analysis::AutoSave(), TGo4Analysis::ClearObjects(), GetCurrentFileName(), TGo4Analysis::Instance(), TGo4Analysis::IsAutoSaveFileChange(), TGo4Analysis::Message(), TGo4Analysis::SetAutoSaveFile(), TGo4Analysis::SetInputFileName(), and TGo4Analysis::SetNewInputFile().

Referenced by NextEvent(), and Open().

◆ NextEvent()

◆ NextFile()

◆ Open()

Int_t TGo4MbsFile::Open ( )
overridevirtual

Open the file or connection.

Reimplemented from TGo4MbsSource.

Definition at line 266 of file TGo4MbsFile.cxx.

References TGo4MbsSource::fbIsOpen, fxMultiFile, GetCurrentFileName(), GO4TRACE, TGo4Log::Info(), NewFileAction(), and NextFile().

Referenced by TGo4MbsFile(), and TGo4MbsFile().

◆ OpenFile()

Field Documentation

◆ fbFileOpen

Bool_t TGo4MbsFile::fbFileOpen {kFALSE}
private

This indicates if the current file is open or not.

Definition at line 101 of file TGo4MbsFile.h.

Referenced by TGo4MbsFile(), TGo4MbsFile(), TGo4MbsFile(), CloseFile(), and OpenFile().

◆ fbShowInfo

Bool_t TGo4MbsFile::fbShowInfo {kFALSE}
private

Indicates if mbs file should show information about new open file.

Definition at line 104 of file TGo4MbsFile.h.

Referenced by TGo4MbsFile(), TGo4MbsFile(), TGo4MbsFile(), NextEvent(), and NextFile().

◆ fgcFILELISTSUF

const char * TGo4MbsFile::fgcFILELISTSUF =".lml"
static

standard suffix for list of listmode files

Definition at line 67 of file TGo4MbsFile.h.

Referenced by AddFileName().

◆ fgcLMDSUF

const char * TGo4MbsFile::fgcLMDSUF =".lmd"
static

standard suffix for listmode data files

Definition at line 64 of file TGo4MbsFile.h.

◆ fgcNOTAGFILE

const char * TGo4MbsFile::fgcNOTAGFILE ="GO4-NOLMDTAG"
static

string to indicate that no lmd tagfile is chosen

Definition at line 61 of file TGo4MbsFile.h.

Referenced by TGo4MbsFile(), AddFileName(), NextFile(), and OpenFile().

◆ fxCurrentFile

TString TGo4MbsFile::fxCurrentFile
private

Currently processed file (for multiple input mode)

Definition at line 91 of file TGo4MbsFile.h.

Referenced by TGo4MbsFile(), TGo4MbsFile(), TGo4MbsFile(), GetCurrentFileName(), and NextFile().

◆ fxCurrentTag

TString TGo4MbsFile::fxCurrentTag
private

Currently processed tagfile (for multiple input mode)

Definition at line 94 of file TGo4MbsFile.h.

Referenced by TGo4MbsFile(), TGo4MbsFile(), TGo4MbsFile(), GetCurrentTagName(), NextFile(), and OpenFile().

◆ fxMultiFile

TList* TGo4MbsFile::fxMultiFile {nullptr}
private

file that contains the list of mbs filenames.

format should be: "filename.lmd tagfilename" for each line.

Definition at line 98 of file TGo4MbsFile.h.

Referenced by TGo4MbsFile(), TGo4MbsFile(), TGo4MbsFile(), ~TGo4MbsFile(), AddFileName(), Close(), NextEvent(), NextFile(), and Open().

◆ fxTagFile

TString TGo4MbsFile::fxTagFile
private

Name of the tagfile associated with the listmode event file.

Definition at line 88 of file TGo4MbsFile.h.

Referenced by TGo4MbsFile(), TGo4MbsFile(), TGo4MbsFile(), and GetTagName().


The documentation for this class was generated from the following files: