ROOT logo
(UNKNOWN PRODUCT) » XIADGF » TMrbDGFEventBuffer

class TMrbDGFEventBuffer: public TNamed, public TArrayI

__________________________________________________[C++ CLASS IMPLEMENTATION]

 Name:           xiadgf/src/TMrbDGFEventBuffer.cxx
 Purpose:        Methods to operate a module XIA DGF-4C
 Description:    Implements class methods for module XIA DGF-4C
 Header files:   TMrbDGF.h          -- class defs
 Keywords:
 Author:         R. Lutter
 Mailto:         <a href=mailto:rudi.lutter@physik.uni-muenchen.de>R. Lutter</a>
 Revision:       $Id: TMrbDGFEventBuffer.cxx,v 1.7 2006-07-19 09:08:58 Rudolf.Lutter Exp $
 Date:

Function Members (Methods)

public:
TMrbDGFEventBuffer(const Char_t* BufferName = "dgfEbuf", TObject* Module = NULL, Int_t Index = -1, Int_t Event0 = -1)
virtual~TMrbDGFEventBuffer()
voidTObject::AbstractMethod(const char* method) const
voidTArrayI::AddAt(Int_t c, Int_t i)
voidTArrayI::Adopt(Int_t n, Int_t* array)
virtual voidTObject::AppendPad(Option_t* option = "")
Int_tTArrayI::At(Int_t i) const
virtual voidTObject::Browse(TBrowser* b)
const Char_t*BufferTime2Ascii(TString& TimeString, UShort_t* TimeArray) const
Double_tCalcTau(Int_t EventNumber, Int_t Channel, Int_t GlobalEventNo, Double_t A0, Double_t A1, Double_t A2, Int_t From = 0, Int_t To = 0, Bool_t Verbose = kTRUE, Bool_t DrawIt = kTRUE)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
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)
TH1F*FillHistogram(Int_t EventNumber, Int_t Channel, Bool_t DrawIt = kTRUE)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TF1*Fit()
const Int_t*TArrayI::GetArray() const
Int_t*TArrayI::GetArray()
virtual Double_tTArrayI::GetAt(Int_t i) const
Int_tGetChannel(Int_t EventNumber, Int_t Channel, TArrayI& Data)
UInt_t*GetDAddr()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Int_tGetGlobalEventNo()
Int_tGetGlobalIndex()
UInt_tGetHitPattern(Int_t EventNumber)
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
Int_tGetNofChannels(Int_t EventNumber)
Int_tGetNofEvents()
Int_tGetNofWords()
Int_tGetNofWords(Int_t EventNumber, Int_t Channel)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tTArray::GetSize() const
Stat_tTArrayI::GetSum() const
Double_tGetTau(Int_t EventNumber, Int_t Channel)
virtual const char*TNamed::GetTitle() const
Stat_tGetTraceError()
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
TH1F*Histogram()
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
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidMakeIndex()
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
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)
Int_t&TArrayI::operator[](Int_t i)
Int_tTArrayI::operator[](Int_t i) const
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* Option) const
voidPrint(Int_t EventNumber = -1)
voidPrint(ostream& OutStrm, Int_t EventNumber = -1, const Char_t* ModuleInfo = NULL)
virtual Int_tTObject::Read(const char* name)
static TArray*TArray::ReadArray(TBuffer& b, const TClass* clReq)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidReset()
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
Bool_tSaveTraces(const Char_t* TraceFile = NULL, Int_t EventNumber = -1, Int_t Channel = -1)
virtual voidTArrayI::Set(Int_t n)
voidTArrayI::Set(Int_t n, const Int_t* array)
virtual voidTArrayI::SetAt(Double_t v, Int_t i)
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)
voidSetGlobalEventNo(Int_t EventNo)
voidSetGlobalIndex(Int_t Index)
voidSetModule(TObject* Module)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetTraceError(Stat_t Error)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
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()
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
static voidTArray::WriteArray(TBuffer& b, const TArray* a)
Bool_tWriteToFile(const Char_t* FileName, const Char_t* ModuleInfo)
protected:
Bool_tTArray::BoundsOk(const char* where, Int_t at) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
Bool_tTArray::OutOfBoundsError(const char* where, Int_t i) const

Data Members

public:
enum EMrbDGFBufferHeader { kBufNofWords
kModNumber
kFormat
kRunStartTime
};
enum { kBufHeaderLength
};
enum EMrbDGFEventHeader { kHitPattern
kEventTime
};
enum { kEventHeaderLength
};
enum EMrbDGFChanHeader { kChanNofWords
kFastTrigger
kEnergy
kConstFractTriggerTime
};
enum { kChanHeaderLength
kTotalHeaderLength
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
public:
Int_t*TArrayI::fArray[fN] Array of fN 32 bit integers
Int_tTArray::fNNumber of array elements
protected:
TObjArrayfEventIndexevent index
Int_tfGlobEventNoglobal event number
Int_tfGlobIndexglobal buffer index
TH1F*fHistogram! histogram
TObject*fModule! ptr to dgf module
TStringTNamed::fNameobject identifier
Int_tfNofEventsnumber of events in this buffer
Int_tfNofWordsnumber of words in this buffer
TF1*fTauFit! tau fit;
TStringTNamed::fTitleobject title
Stat_tfTraceErrorerror to be applied to trace data

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TMrbDGFEventBuffer(const Char_t* BufferName = "dgfEbuf", TObject* Module = NULL, Int_t Index = -1, Int_t Event0 = -1)
__________________________________________________________________[C++ CTOR]

 Name:           TMrbDGFEventBuffer
 Purpose:        DGF's list mode buffer
 Description:    Describes the list mode buffer.
 Keywords:

void Reset()
________________________________________________________________[C++ METHOD]

 Name:           TMrbDGFEventBuffer::Reset
 Purpose:        Reset to initial values
 Arguments:      --
 Results:        --
 Exceptions:
 Description:    Resets event buffer
 Keywords:

void MakeIndex()
________________________________________________________________[C++ METHOD]

 Name:           TMrbDGFEventBuffer::MakeIndex
 Purpose:        Analyze buffer data
 Arguments:      --
 Results:        --
 Exceptions:
 Description:    Analyzes buffer data: number of events, indices etc.
 Keywords:

Int_t GetNofChannels(Int_t EventNumber)
________________________________________________________________[C++ METHOD]

 Name:           TMrbDGFEventBuffer::GetNofChannels
 Purpose:        Return number of active channels
 Arguments:      Int_t EventNumber    -- event number
 Results:        Int_t NofChannels    -- number of active channels
 Exceptions:
 Description:    Returns the number of active channels for a given event.
 Keywords:

UInt_t GetHitPattern(Int_t EventNumber)
________________________________________________________________[C++ METHOD]

 Name:           TMrbDGFEventBuffer::GetHitPattern
 Purpose:        Return pattern of active channels
 Arguments:      Int_t EventNumber    -- event number
 Results:        UInt_t HitPattern    -- pattern
 Exceptions:
 Description:    Returns the pattern of active channels.
 Keywords:

Int_t GetChannel(Int_t EventNumber, Int_t Channel, TArrayI& Data)
________________________________________________________________[C++ METHOD]

 Name:           TMrbDGFEventBuffer::GetChannel
 Purpose:        Return data for a given channel
 Arguments:      Int_t EventNumber    -- event number
                 Int_t Channel        -- channel number
                 TArrayI & Data       -- where to store channel data
 Results:        Int_t NofWords       -- number of words
 Exceptions:
 Description:    Returns data of a given channel.
 Keywords:

Int_t GetNofWords(Int_t EventNumber, Int_t Channel)
________________________________________________________________[C++ METHOD]

 Name:           TMrbDGFEventBuffer::GetNofWords
 Purpose:        Return number of data words for a channel
 Arguments:      Int_t EventNumber    -- event number
                 Int_t Channel        -- channel number
 Results:        Int_t NofWords       -- number of words
 Exceptions:
 Description:    Returns number of words for a given channel.
 Keywords:

Double_t CalcTau(Int_t EventNumber, Int_t Channel, Int_t GlobalEventNo, Double_t A0, Double_t A1, Double_t A2, Int_t From = 0, Int_t To = 0, Bool_t Verbose = kTRUE, Bool_t DrawIt = kTRUE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbDGFEventBuffer::CalcTau
 Purpose:        Calculate tau value
 Arguments:      Int_t EventNumber    -- event number
                 Int_t Channel        -- channel number
                 Int_t GlobalEventNo  -- global event number
                 Double_t A0          -- start value for a(0)
                 Double_t A1          -- start value for a(1)
                 Int_t From           -- fit region, lower limit
                 Int_t To             -- fit region, upper limit
                 Int_t Verbose        -- verbose mode?
                 Bool_t DrawIt        -- draw histo + fit
 Results:        Double_t Tau         -- tau value
 Exceptions:
 Description:    Performs a fit on trace data
                     f(x) = a(0) + a(1) * exp(a(2) * x)
                 then calculates tau
                     tau = 1 / (40 * a(2))
 Keywords:

Double_t GetTau(Int_t EventNumber, Int_t Channel)
________________________________________________________________[C++ METHOD]

 Name:           TMrbDGFEventBuffer::GetTau
 Purpose:        Recall calculated tau value
 Arguments:      Int_t EventNumber    -- event number
                 Int_t Channel        -- channel number
 Results:        Double_t Tau         -- tau value
 Exceptions:
 Description:    Returns tau value
 Keywords:

TH1F * FillHistogram(Int_t EventNumber, Int_t Channel, Bool_t DrawIt = kTRUE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbDGFEventBuffer::FillHistogram
 Purpose:        Fill a histogram with trace data
 Arguments:      Int_t EventNumber    -- event number
                 Int_t Channel        -- channel number
                 Bool_t DrawIt        -- draw histogram
 Results:        TH1F * Histogram     -- address of internal histogram
 Exceptions:
 Description:    Fills a histogram with event (trace) data and draws it.
 Keywords:

Bool_t SaveTraces(const Char_t* TraceFile = NULL, Int_t EventNumber = -1, Int_t Channel = -1)
________________________________________________________________[C++ METHOD]

 Name:           TMrbDGFEventBuffer::SaveTraces
 Purpose:        Save trace data to root file
 Arguments:      Char_t * TraceFile   -- file name
                 Int_t EventNumber    -- event number
                 Int_t Channel        -- channel number
 Results:        Int_t NofWords       -- number of words
 Exceptions:
 Description:    Saves trace data as histograms in root format.
 Keywords:

void Print(ostream& OutStrm, Int_t EventNumber = -1, const Char_t* ModuleInfo = NULL)
________________________________________________________________[C++ METHOD]

 Name:           TMrbDGFEventBuffer::Print
 Purpose:        Print buffer headers
 Arguments:      ostream & OutStrm       -- output stream
                 Int_t EventNumber       -- event number
                 Char_t * ModuleInfo     -- module info
 Results:        --
 Exceptions:
 Description:    Outputs buffer / event / channel headers.
 Keywords:

Bool_t WriteToFile(const Char_t* FileName, const Char_t* ModuleInfo)
________________________________________________________________[C++ METHOD]

 Name:           TMrbDGF::WriteToFile
 Purpose:        Print event buffer to file
 Arguments:      Char_t * FileName             -- file name
                 char _t * ModuleInfo          -- module info
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Outputs event data to file.
 Keywords:

const Char_t * BufferTime2Ascii(TString& TimeString, UShort_t* TimeArray) const
________________________________________________________________[C++ METHOD]

 Name:           TMrbDGFEventBuffer::BufferTime2Ascii
 Purpose:        Convert 48-bit time to ascii
 Arguments:      TString & TimeString  -- where to store event time
                 UShort_t * TimeArray  -- original 48 bit time
 Results:        Char_t * TimeString   -- same as arg#1
 Exceptions:
 Description:    Converts a 48-bit event time to ascii.
 Keywords:

~TMrbDGFEventBuffer()
{}
void Print(Option_t* Option) const
{ TObject::Print(Option); }
void Print(ostream& OutStrm, Int_t EventNumber = -1, const Char_t* ModuleInfo = NULL)
Int_t GetNofWords()
{ return(fNofWords); }
Int_t GetNofEvents()
{ return(fNofEvents); }
Int_t GetGlobalIndex()
{ return(fGlobIndex); }
void SetGlobalIndex(Int_t Index)
{ fGlobIndex = Index; }
Int_t GetGlobalEventNo()
{ return(fGlobEventNo); }
void SetGlobalEventNo(Int_t EventNo)
{ fGlobEventNo = EventNo; }
UInt_t * GetDAddr()
{ return((UInt_t *) &fArray); }
void SetTraceError(Stat_t Error)
Stat_t GetTraceError()
{ return(fTraceError); }
void SetModule(TObject* Module)
{ fModule = Module; }
TH1F * Histogram()
{ return(fHistogram); }
TF1 * Fit()
{ return(fTauFit); }