(UNKNOWN PRODUCT) » ESONE » TMrbEsone

class TMrbEsone: public TObject

__________________________________________________[C++ CLASS IMPLEMENTATION]

 Name:           esone/src/TMrbEsone.cxx
 Purpose:        ESONE client class
 Description:    Implements class methods to interface the ESONE client library
 Keywords:
 Author:         R. Lutter
 Mailto:         <a href=mailto:rudi.lutter@physik.uni-muenchen.de>R. Lutter</a>
 Revision:       $Id: TMrbEsone.cxx,v 1.18 2010/03/10 12:08:10 Rudolf.Lutter Exp $
 Date:

Function Members (Methods)

public:
TMrbEsone(Bool_t Offline = kFALSE)
TMrbEsone(const Char_t* HostName, Bool_t Offline = kFALSE)
virtual~TMrbEsone()
voidAbort()
voidTObject::AbstractMethod(const char* method) const
Int_tAddressScan(const Char_t* Start, const Char_t* Stop, TArrayI& Data, TObjArray& Results, Bool_t D16Flag = kFALSE)
Int_tAddressScan(TMrbEsoneCnaf& Start, TMrbEsoneCnaf& Stop, TArrayI& Data, TObjArray& Results, Bool_t D16Flag = kFALSE)
Int_tAddressScan(Int_t Crate, Int_t Start, Int_t Stop, Int_t Function, TArrayI& Data, TObjArray& Results, Bool_t D16Flag = kFALSE)
Bool_tAddToBroadCast(Int_t Crate, Int_t Station)
virtual voidTObject::AppendPad(Option_t* option = "")
Int_tBlockXfer(const Char_t* Cnaf, TArrayI& Data, Int_t Start = 0, Int_t NofWords = -1, Bool_t D16Flag = kFALSE, Bool_t QXfer = kFALSE)
Int_tBlockXfer(TMrbEsoneCnaf& Cnaf, TArrayI& Data, Int_t Start = 0, Int_t NofWords = -1, Bool_t D16Flag = kFALSE, Bool_t QXfer = kFALSE)
Int_tBlockXfer(Int_t Crate, Int_t Station, Int_t Subaddr, Int_t Function, TArrayI& Data, Int_t Start = 0, Int_t NofWords = -1, Bool_t D16Flag = kFALSE, Bool_t QXfer = kFALSE)
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
Bool_tClearBroadCast(Int_t Crate)
Bool_tClearDW(Int_t Crate)
voidClearStatus()
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
UInt_tConnectToHost(const Char_t* HostName, Bool_t Reconnect = kFALSE)
virtual voidTObject::Copy(TObject& object) 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
Bool_tDWIsInhibited(Int_t Crate)
virtual voidTObject::Error(const char* method, const char* msgfmt) const
Bool_tExecCnaf(const Char_t* Cnaf, Bool_t D16Flag = kFALSE)
Bool_tExecCnaf(TMrbEsoneCnaf& Cnaf, Bool_t D16Flag = kFALSE)
Bool_tExecCnaf(const Char_t* Cnaf, Int_t& Data, Bool_t D16Flag = kFALSE)
Bool_tExecCnaf(Int_t Crate, Int_t Station, Int_t Subaddr, Int_t Function, Bool_t D16Flag = kFALSE)
Bool_tExecCnaf(Int_t Crate, Int_t Station, Int_t Subaddr, Int_t Function, Int_t& Data, Bool_t D16Flag = kFALSE)
Int_tExecCnafList(TObjArray& CnafList, Bool_t D16Flag = kFALSE)
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 TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TMrbNamedX*GetAction()
UInt_tGetBroadCast(Int_t Crate)
Int_tGetControllerIndex()
const Char_t*GetControllerName()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
const Char_t*GetError(TString& Error)
TMrbNamedX*GetHost(UInt_t HostAddr)
TMrbNamedX*GetHost(const Char_t* HostName)
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Bool_tGetQ()
Int_tGetServerIndex()
const Char_t*GetServerName()
TSocket*GetSocket()
UInt_tGetStatus(Bool_t& XFlag, Bool_t& QFlag, Int_t& ErrorCode, TString& Error)
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Bool_tGetX()
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tHasBroadCast()
Bool_tHasBroadCast(Int_t& NsetMask, Int_t& NexecCmd)
Bool_tHasFastCamac()
virtual ULong_tTObject::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
Bool_tInitDW(Int_t Crate)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsAborted()
Bool_tIsConnected()
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsError()
virtual Bool_tTObject::IsFolder() const
Bool_tIsMarabouServer()
Bool_tIsMbsServer()
Bool_tIsOffline()
Bool_tTObject::IsOnHeap() const
Bool_tIsSingleStep()
virtual Bool_tTObject::IsSortable() const
Bool_tIsVerbose()
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
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)
TObject&TObject::operator=(const TObject& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* Option) const
voidPrint(TMrbEsoneCnaf& Cnaf)
voidPrint(TObjArray& CnafList, Int_t From = 0, Int_t To = -1)
voidPrintError(const Char_t* EsoneCall, const Char_t* Method)
voidPrintStatus(const Char_t* Method)
virtual Int_tTObject::Read(const char* name)
Bool_tReadDoubleWord(Int_t Crate, Bool_t ReadDW = kTRUE)
Bool_tReadFromFile(const Char_t* FileName)
virtual voidTObject::RecursiveRemove(TObject* obj)
Bool_tRemoveFromBroadCast(Int_t Crate, Int_t Station)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidSetAction(EMrbEsoneCamacAction Action)
Bool_tSetAutoRead(Int_t Crate, Bool_t AutoRead = kTRUE)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
Bool_tSetBroadCast(Int_t Crate, UInt_t BroadCast)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
Bool_tSetDWInhibit(Int_t Crate, Bool_t Flag = kTRUE)
voidSetError()
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOffline(Bool_t Offline = kTRUE)
voidSetQ()
voidSetSingleStep(Bool_t Flag = kTRUE)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetVerboseMode(Bool_t VerboseFlag = kTRUE)
voidSetX()
voidSetXQ()
virtual voidShowMembers(TMemberInspector& insp)
Bool_tStartServer(const Char_t* HostName)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& 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
voidUseBroadCast(Bool_t Flag)
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
protected:
Bool_tCheckConnection(const Char_t* Method)
Bool_tCheckCrate(Int_t Crate, const Char_t* Method)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tEsoneCCCC(Int_t Crate)
Bool_tEsoneCCCI(Int_t Crate, Bool_t Inhibit = kTRUE)
Bool_tEsoneCCCZ(Int_t Crate)
Bool_tEsoneCCOPEN(const Char_t* HostName, UInt_t& HostAddress)
Bool_tEsoneCDCTRL()
Bool_tEsoneCDREG(UInt_t& Handle, TMrbEsoneCnaf& Cnaf)
Bool_tEsoneCDREG(UInt_t& Handle, Int_t Crate, Int_t Station = 0, Int_t SubAddr = 0)
const Char_t*EsoneCERROR(TString& ErrMsg, Int_t ErrorCode, Bool_t DateFlag)
Bool_tEsoneCTCI(Int_t Crate)
UInt_tEsoneCTSTAT()
Int_tEsoneCXGA(TObjArray& CnafList, Bool_t D16Flag)
Int_tEsoneCXMAD(TMrbEsoneCnaf& Start, TMrbEsoneCnaf& Stop, TArrayI& Data, TObjArray& Results, Bool_t D16Flag)
Bool_tEsoneCXSA(TMrbEsoneCnaf& Cnaf, Bool_t D16Flag)
Int_tEsoneCXUBX(TMrbEsoneCnaf& Cnaf, TArrayI& Data, Int_t First, Int_t Last, Bool_t D16Flag, Bool_t QXfer)
Bool_tEsoneSpecial(EMrbEsoneCnafType Type, Int_t Crate, Int_t Station, Int_t Subaddr, Int_t Function, Int_t& Data, Bool_t D16Flag)
voidTObject::MakeZombie()
voidPrintResults(const Char_t* Method, TMrbEsoneCnaf& Cnaf)
voidPrintResults(const Char_t* Method, TObjArray& CnafList)
Bool_tReset(Bool_t Offline = kFALSE)
voidSetCB(TArrayI& CB, Int_t Repeat = 0, Int_t Tally = 0, Int_t Lam = 0, Int_t DMA = 0)
Bool_tStartMarabouServer(const Char_t* HostName)
Bool_tStartMbsServer(const Char_t* HostName)

Data Members

public:
enum EMrbEsoneServer { kES_MBS
kES_MARABOU
};
enum EMrbCamacController { kCC_CBV
kCC_CC32
};
enum { kBroadCastSetMask_N_CC32
kBroadCastExecCmd_N_CC32
kFastCamac_F
kAutoRead_CC32
kLastError
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
public:
TMrbLofNamedXfLofCamacActionslist of camac actions
TMrbLofNamedXfLofCamacFunctionslist of camac function types
TMrbLofNamedXfLofCnafNameslist of camac registers
TMrbLofNamedXfLofCnafTypeslist of cnaf types
TMrbLofNamedXfLofControllerslist of camac controllers available
TMrbLofNamedXfLofEsoneServerslist of esone servers available
protected:
Bool_tfAbortedkTRUE if operation aborted
TMrbNamedX*fActionlast camac action
Int_tfBufferSizetcp buffer size
Int_tfCC32Basebase address (CC32 only)
TMrbNamedXfControllercamac controller used (name+index)
TStringfHosthost name
Int_tfHostAddrESONE host address
TStringfHostInetfull inet address
TMrbC2Lynx*fLynxClientclient to lynxos/vme
Int_tfNofCratesnumber of crates in use
Bool_tfOfflineaccess camac hardware?
Int_tfPortport number
TStringfServerPathwhere to start server from
TStringfServerProgserver program
TMrbNamedXfServerTypeserver type (name+index)
TStringfSetupPathwhere to fond setup files
Bool_tfSingleStepkTRUE if in single step mode
TSocket*fSocket! connection to server
UInt_tfStatusstatus of last camac action
Bool_tfUseBroadCastkTRUE if broadcast mode is to be used
Bool_tfVerboseModekTRUE if verbose mode on

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

Bool_t Reset(Bool_t Offline = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::Reset
 Purpose:        Reset internal data base
 Arguments:      Bool_t Offline         -- camac access to be simulated?
 Results:        --
 Exceptions:
 Description:    Reset data base (protected method).
 Keywords:

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

 Name:           TMrbEsone::CheckConnection
 Purpose:        Check if connected to camac host
 Arguments:      Char_t * Method    -- calling method
 Results:        kTRUE/kFALSe
 Exceptions:
 Description:    Checks if there is a valid connection to camac.
 Keywords:

Bool_t CheckCrate(Int_t Crate, const Char_t* Method)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::CheckCrate
 Purpose:        Check if crate number is legal
 Arguments:      Int_t Crate        -- crate number
                 Char_t * Method    -- calling method
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Checks if crate number is ok.
 Keywords:

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

 Name:           TMrbEsone::StartServer
 Purpose:        Try to start esone server on host
 Arguments:      Char_t * HostName    -- host name
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Start server depending on type.
 Keywords:

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

 Name:           TMrbEsone::StartMbsServer
 Purpose:        Try to start esone server on host
 Arguments:      Char_t * HostName    -- host name
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Tries to start mbs.
 Keywords:

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

 Name:           TMrbEsone::StartMarabouServer
 Purpose:        Connect to MARaBOU server
 Arguments:      Char_t * HostName      -- server addr
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Establishes a server connection.
 Keywords:

UInt_t ConnectToHost(const Char_t* HostName, Bool_t Reconnect = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::ConnectToHost
 Purpose:        Establish connection to camac host
 Arguments:      Char_t * HostName  -- host name
                 Bool_t Reconnect   -- kTRUE -> try to reconnect
 Results:        UInt_t             -- host address, 0 if error
 Exceptions:
 Description:    ESONE ccopen.
 Keywords:

Bool_t ClearDW(Int_t Crate)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::ClearDW
 Purpose:        Clear dataway
 Arguments:      Int_t Crate      -- crate number
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    ESONE cccc (CAMAC Clear)
 Keywords:

Bool_t SetDWInhibit(Int_t Crate, Bool_t Flag = kTRUE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::SetDWInhibit
 Purpose:        Set/Clear dataway inhibit
 Arguments:      Int_t Crate      -- crate number
                 Bool_t Inhibit   -- inhibit flag
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    ESONE ccci (CAMAC Inhibit)
 Keywords:

Bool_t DWIsInhibited(Int_t Crate)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::DWInhIsActive
 Purpose:        Test dataway inhibit
 Arguments:      Int_t Crate        -- crate number
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Test the dataway inhibit flag (ESONE ctci).
 Keywords:

Bool_t InitDW(Int_t Crate)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::InitDW
 Purpose:        Initialize dataway
 Arguments:      Int_t Crate     -- crate number
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    ESONE cccz (CAMAC Z)
 Keywords:

Bool_t ExecCnaf(const Char_t* Cnaf, Bool_t D16Flag = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::ExecCnaf
 Purpose:        Exec a single control CNAF
 Arguments:      Char_t * Cnaf     -- cnaf (ascii representation)
                 Bool_t D16Flag    -- kTRUE if 16 bits only
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    ESONE cfsa / cssa. Control cnafs only.
 Keywords:

Bool_t ExecCnaf(const Char_t* Cnaf, Int_t& Data, Bool_t D16Flag = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::ExecCnaf
 Purpose:        Exec a single CNAF
 Arguments:      Char_t * Cnaf     -- cnaf (ascii representation)
                 Int_t & Data      -- data
                 Bool_t D16Flag    -- kTRUE if 16 bits only
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    ESONE cfsa / cssa.
 Keywords:

Bool_t ExecCnaf(Int_t Crate, Int_t Station, Int_t Subaddr, Int_t Function, Bool_t D16Flag = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::ExecCnaf
 Purpose:        Exec a single control CNAF
 Arguments:      Int_t Crate       -- crate number
                 Int_t Station     -- station
                 Int_t Subaddr     -- subaddress
                 Int_t Function    -- function
                 Bool_t D16Flag    -- kTRUE if 16 bits only
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    ESONE cfsa / cssa. Control cnafs only.
 Keywords:

Bool_t ExecCnaf(Int_t Crate, Int_t Station, Int_t Subaddr, Int_t Function, Int_t& Data, Bool_t D16Flag = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::ExecCnaf
 Purpose:        Exec a single CNAF
 Arguments:      Int_t Crate       -- crate number
                 Int_t Station     -- station
                 Int_t Subaddr     -- subaddress
                 Int_t Function    -- function
                 Int_t & Data      -- data
                 Bool_t D16Flag    -- kTRUE if 16 bits only
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    ESONE cfsa / cssa.
 Keywords:

Bool_t ExecCnaf(TMrbEsoneCnaf& Cnaf, Bool_t D16Flag = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::ExecCnaf
 Purpose:        Exec a single CNAF
 Arguments:      TMrbEsoneCnaf & Cnaf     -- cnaf
                 Bool_t D16Flag           -- kTRUE if 16 bits only
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    ESONE cfsa / cssa.
 Keywords:

Int_t ExecCnafList(TObjArray& CnafList, Bool_t D16Flag = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::ExecCnafList
 Purpose:        Exec a list of CNAFs
 Arguments:      TObjArray & CnafList    -- cnafs to be executed
                 Bool_t D16Flag          -- kTRUE if 16 bits only
 Results:        Int_t NofCnafs          -- number of cnafs executed
 Exceptions:     Returns kEsoneError on error.
 Description:    ESONE cfga / csga.
 Keywords:

Int_t AddressScan(const Char_t* Start, const Char_t* Stop, TArrayI& Data, TObjArray& Results, Bool_t D16Flag = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::AddressScan
 Purpose:        Exec cnafs between N(start) and N(Stop)
 Arguments:      Char_t * Start            -- C.N.F to start with
                 Char_t * Stop             -- C.N.F to stop with
                 TArrayI & Data            -- data (read/write)
                 TObjArray & Results       -- where to store resulting data
                 Bool_t D16Flag            -- kTRUE if 16 bits only
 Results:        Int_t NofData             -- resulting number of data words
 Exceptions:     Returns kEsoneError on error.
 Description:    ESONE cfmad / csmad.
 Keywords:

Int_t AddressScan(Int_t Crate, Int_t Start, Int_t Stop, Int_t Function, TArrayI& Data, TObjArray& Results, Bool_t D16Flag = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::AddressScan
 Purpose:        Exec cnafs between N(start) and N(Stop)
 Arguments:      Int_t Crate               -- crate number
                 Int_t Start               -- station to start with
                 Int_t Stop                -- station to stop with
                 Int_t Function            -- function code
                 TArrayI & Data            -- data (read/write)
                 TObjArray & Results       -- where to store resulting data
                 Bool_t D16Flag            -- kTRUE if 16 bits only
 Results:        Int_t NofData             -- resulting number of data words
 Exceptions:     Returns kEsoneError on error.
 Description:    ESONE cfmad / csmad.
 Keywords:

Int_t AddressScan(TMrbEsoneCnaf& Start, TMrbEsoneCnaf& Stop, TArrayI& Data, TObjArray& Results, Bool_t D16Flag = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::AddressScan
 Purpose:        Exec cnafs between N(start) and N(Stop)
 Arguments:      TMrbEsoneCnaf & Start     -- C.N.F to start with
                 TMrbEsoneCnaf & Stop      -- C.N.F to stop with
                 TArrayI & Data            -- data (read/write)
                 TObjArray & Results       -- where to store resulting data
                 Bool_t D16Flag            -- kTRUE if 16 bits only
 Results:        Int_t NofData             -- resulting number of data words
 Exceptions:     Returns kEsoneError on error.
 Description:    ESONE cfmad / csmad.
 Keywords:

Int_t BlockXfer(const Char_t* Cnaf, TArrayI& Data, Int_t Start = 0, Int_t NofWords = -1, Bool_t D16Flag = kFALSE, Bool_t QXfer = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::BlockXfer
 Purpose:        Start block transfer
 Arguments:      Char_t * Cnaf            -- C.N.F to be executed
                 TArrayI & Data           -- data
                 Int_t Start              -- data index to start with
                 Int_t NofWords           -- number of words to xfer
                 Bool_t D16Flag           -- kTRUE if 16 bits only
                 Bool_t QXfer             -- kTRUE if Q-driven
 Results:        Int_t NofData            -- resulting number of data words
 Exceptions:     Returns kEsoneError on error.
 Description:    ESONE cfubc / csubc / cfubr / csubr.
 Keywords:

Int_t BlockXfer(Int_t Crate, Int_t Station, Int_t Subaddr, Int_t Function, TArrayI& Data, Int_t Start = 0, Int_t NofWords = -1, Bool_t D16Flag = kFALSE, Bool_t QXfer = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::BlockXfer
 Purpose:        Start block transfer
 Arguments:      Int_t Crate              -- crate number
                 Int_t Station            -- station
                 Int_t SubAddr            -- subaddress
                 Int_t Function           -- function code
                 TArrayI & Data           -- data
                 Int_t Start              -- data index to start with
                 Int_t NofWords           -- number of words to xfer
                 Bool_t D16Flag           -- kTRUE if 16 bits only
                 Bool_t QXfer             -- kTRUE if Q-driven
 Results:        Int_t NofData            -- resulting number of data words
 Exceptions:     Returns kEsoneError on error.
 Description:    ESONE cfubc / csubc / cfubr / csubr.
 Keywords:

Int_t BlockXfer(TMrbEsoneCnaf& Cnaf, TArrayI& Data, Int_t Start = 0, Int_t NofWords = -1, Bool_t D16Flag = kFALSE, Bool_t QXfer = kFALSE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::BlockXfer
 Purpose:        Start block transfer
 Arguments:      TMrbEsoneCnaf & Cnaf     -- C.N.F to be executed
                 TArrayI & Data           -- data
                 Int_t Start              -- data index to start with
                 Int_t NofWords           -- number of words to xfer
                 Bool_t D16Flag           -- kTRUE if 16 bits only
                 Bool_t QXfer             -- kTRUE if Q-driven
 Results:        Int_t NofData            -- resulting number of data words
 Exceptions:     Returns kEsoneError on error.
 Description:    ESONE cfubc / csubc / cfubr / csubr.
 Keywords:

UInt_t GetStatus(Bool_t& XFlag, Bool_t& QFlag, Int_t& ErrorCode, TString& Error)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::GetStatus
 Purpose:        Get ESONE status of prev camac action
 Arguments:      Bool_t & XFlag         -- CAMAC X
                 Bool_t & QFlag         -- CAMAC Q
                 Int_t ErrorCode        -- error code
                 TString & Error        -- error message
 Results:        CamacStatus_t Status   -- status word
 Exceptions:
 Description:    Reads and decodes the ESONE status register.
 Keywords:

TMrbNamedX * GetHost(UInt_t HostAddr)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::GetHost
 Purpose:        Get host by ESONE address
 Arguments:      UInt_t HostAddr           -- ESONE address
 Results:        TMrbNamedX * HostKey      -- host name / address
 Exceptions:
 Description:    Finds host by its address.
 Keywords:

TMrbNamedX * GetHost(const Char_t* HostName)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::GetHost
 Purpose:        Get host by name
 Arguments:      Char_t * HostName      -- host name
 Results:        TMrbNamedX * HostKey      -- host name / address
 Exceptions:
 Description:    Finds host by its name.
 Keywords:

void Print(TMrbEsoneCnaf& Cnaf)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::Print
 Purpose:        Print cnafs & data
 Arguments:      TMrbEsoneCnaf & Cnaf  -- cnaf
 Results:        --
 Exceptions:
 Description:    Outputs cnaf, data, flags.
 Keywords:

void Print(TObjArray& CnafList, Int_t From = 0, Int_t To = -1)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::Print
 Purpose:        Print cnafs & data
 Arguments:      TObjArray & CnafList  -- list of cnafs
                 Int_t From            -- cnaf to start with
                 Int_t To              -- cnaf to end with
 Results:        --
 Exceptions:
 Description:    Outputs cnaf, data, flags.
 Keywords:

const Char_t * GetError(TString& Error)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::GetError
 Purpose:        Get error of prev cnaf action
 Arguments:      TString & Error   -- where to put the error message
 Results:        Char_t * Error    -- error string
 Exceptions:
 Description:    Returns an error message.
 Keywords:

void PrintError(const Char_t* EsoneCall, const Char_t* Method)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::PrintError
 Purpose:        Print error message
 Arguments:      Char_t * EsoneCall      -- ESONE call
                 Char_t * Method         -- calling method
 Results:        --
 Exceptions:
void PrintStatus(const Char_t* Method)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::PrintStatus
 Purpose:        Print status message
 Arguments:      Char_t * Method     -- calling method
 Results:        --
 Exceptions:
 Description:    Status.
 Keywords:

void PrintResults(const Char_t* Method, TMrbEsoneCnaf& Cnaf)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::PrintResults
 Purpose:        Print results
 Arguments:      Char_t * Method            -- calling method
                 TMrbEsoneCnaf & Cnaf       -- cnaf
 Results:        --
 Exceptions:
 Description:    Outputs cnaf results.
 Keywords:

void PrintResults(const Char_t* Method, TObjArray& CnafList)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::PrintResults
 Purpose:        Print results
 Arguments:      Char_t * Method            -- calling method
                 TObjArray & CnafList       -- list of cnafs
 Results:        --
 Exceptions:
 Description:    Outputs cnaf results.
 Keywords:

Bool_t HasFastCamac()
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::HasFastCamac
 Purpose:        Test for fast camac capability
 Arguments:      --
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Tests if controller has fast camac
 Keywords:

Bool_t HasBroadCast(Int_t& NsetMask, Int_t& NexecCmd)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::HasBroadCast
 Purpose:        Test for broadcast capability
 Arguments:      Int_t & NsetMask     -- station N to set broadcast mask
                 Int_t & NexecCmd     -- station N to exec bc commands
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Tests if controller has broadcast capability.
 Keywords:

Bool_t HasBroadCast()
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::HasBroadCast
 Purpose:        Test for broadcast capability
 Arguments:      --
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Tests if controller has broadcast capability.
 Keywords:

Bool_t SetBroadCast(Int_t Crate, UInt_t BroadCast)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::SetBroadCast
 Purpose:        Set broadcast register
 Arguments:      Int_t Crate          -- crate number
                 UInt_t BroadCast     -- bits to be set
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Writes the broadcast mask register.
 Keywords:

UInt_t GetBroadCast(Int_t Crate)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::SetBroadCast
 Purpose:        Read broadcast register
 Arguments:      Int_t Crate          -- crate number
 Results:        UInt_t BroadCast     -- bits on bc mask
 Exceptions:     Returns kEsoneError on error.
 Description:    Reads the broadcast mask register.
 Keywords:

Bool_t AddToBroadCast(Int_t Crate, Int_t Station)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::AddBroadCast
 Purpose:        Add station to broadcast mask
 Arguments:      Int_t Crate        -- crate number
                 Int_t Station      -- camac station
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Adds a bit to the broadcast mask register.
 Keywords:

Bool_t RemoveFromBroadCast(Int_t Crate, Int_t Station)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::RemoveFromBroadCast
 Purpose:        Remove station from broadcast mask
 Arguments:      Int_t Crate        -- crate number
                 Int_t Station      -- camac station
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Removes a bit to the broadcast mask register.
 Keywords:

Bool_t SetAutoRead(Int_t Crate, Bool_t AutoRead = kTRUE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::SetAutoRead
 Purpose:        Enable/disable AutoRead mode
 Arguments:      Int_t Crate       -- crate number
                 Bool_t AutoRead   -- on/off flag
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Enables/disable auto read mode (CC32 only).
 Keywords:

Bool_t ReadDoubleWord(Int_t Crate, Bool_t ReadDW = kTRUE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::ReadDoubleWord
 Purpose:        Enable/disable 32 bit mode
 Arguments:      Int_t Crate     -- crate number
                 Bool_t ReadDW   -- on/off flag
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Enables/disable 32 bit mode (CC32 only).
 Keywords:

Bool_t EsoneCDREG(UInt_t& Handle, Int_t Crate, Int_t Station = 0, Int_t SubAddr = 0)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneCDREG
 Purpose:        Encode C, N, A
 Arguments:      Int_t & Handle     -- identifier
                 Int_t Crate        -- crate C
                 Int_t Station      -- station N
                 Int_t SubAddr      -- subaddr A
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Encodes ESONE-stype camac addr from C,N,A.
                 Returns unique identifier (handle).
                 Esone call: cdreg()

                 >>> protected method <<<
 Keywords:

Bool_t EsoneCDREG(UInt_t& Handle, TMrbEsoneCnaf& Cnaf)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneCDREG
 Purpose:        Encode C, N, A
 Arguments:      Int_t & Handle        -- identifier
                 TMrbEsoneCnaf & Cnaf  -- CNAF specs
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Encodes ESONE-stype camac addr from C,N,A.
                 Returns unique identifier (handle).
                 Esone call: cdreg()

                 >>> protected method <<<
 Keywords:

Bool_t EsoneCDCTRL()
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneCDCTRL
 Purpose:        Define controller
 Arguments:      --
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Defines type of controller to be used (CBV or CC32)
                 Esone call: cdctrl()

                 >>> protected method <<<
 Keywords:

Bool_t EsoneCCCC(Int_t Crate)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneCCCC
 Purpose:        Clear dataway
 Arguments:      Int_t Crate        -- crate C
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Clears dataway for given crate.
                 Esone call: cccc()

                 >>> protected method <<<
 Keywords:

Bool_t EsoneCCOPEN(const Char_t* HostName, UInt_t& HostAddress)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneCCOPEN
 Purpose:        Open connection to CAMAC
 Arguments:      Char_t * HostName    -- name of camac host
                 UInt_t HostAddress   -- ... address
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Connects to camac.
                 Esone call: ccopen()

                 >>> protected method <<<
 Keywords:

Bool_t EsoneCCCI(Int_t Crate, Bool_t Inhibit = kTRUE)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneCCCI
 Purpose:        Set/clear dataway inhibit
 Arguments:      Int_t Crate        -- crate C
                 Bool_t Inhibit     -- inhibit flag
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Inhibit/enable camac dataway
                 Esone call: ccci()

                 >>> protected method <<<
 Keywords:

Bool_t EsoneCTCI(Int_t Crate)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneCTCI
 Purpose:        Test dataway inhibit
 Arguments:      Int_t Crate        -- crate C
 Results:        Bool_t Inhibit     -- inhibit flag
 Exceptions:
 Description:    Tests dataway inhibit
                 Esone call: ctci()

                 >>> protected method <<<
 Keywords:

Bool_t EsoneCCCZ(Int_t Crate)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneCCCZ
 Purpose:        Initialize dataway
 Arguments:      Int_t Crate        -- crate C
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Initializes camac dataway
                 Esone call: cccz()

                 >>> protected method <<<
 Keywords:

UInt_t EsoneCTSTAT()
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneCTSTAT
 Purpose:        Test controller status
 Arguments:      --
 Results:        UInt_t Status      -- status information
 Exceptions:
 Description:    Tests controller status
                 Esone call: ctstat()

                 >>> protected method <<<
 Keywords:

Bool_t EsoneCXSA(TMrbEsoneCnaf& Cnaf, Bool_t D16Flag)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneCXSA
 Purpose:        Execute single cnaf
 Arguments:      TMrbEsoneCnaf & Cnaf  -- cnaf (+data)
                 Bool_t D16Flag        -- 16 bit data if kTRUE
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Executes a single camac cnaf, 16 or 24 bit
                 Esone call: cssa(), cfsa()
                 >>> protected method <<<
 Keywords:

Int_t EsoneCXGA(TObjArray& CnafList, Bool_t D16Flag)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneCXGA
 Purpose:        Execute cnaf list
 Arguments:      TObjArray & CnafList  -- list of cnafs (+data)
                 Bool_t D16Flag        -- 16 bit data if kTRUE
 Results:        Int_t NofCnafs        -- number of cnafs executed
 Exceptions:     NofCnafs = kEsoneError on error
 Description:    Executes cnafs in the list, 16 or 24 bit
                 Esone call: csga(), cfga()

                 >>> protected method <<<
 Keywords:

Int_t EsoneCXMAD(TMrbEsoneCnaf& Start, TMrbEsoneCnaf& Stop, TArrayI& Data, TObjArray& Results, Bool_t D16Flag)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneCXMAD
 Purpose:        Perform an address scan
 Arguments:      TMrbEsoneCnaf & Start -- start cnaf
                 TMrbEsoneCnaf & Stop  -- stop cnaf
                 TArrayI & Data        -- data (read/write)
                 TObjArray & Results   -- resulting cnafs (+data)
                 Bool_t D16Flag        -- 16 bit data if kTRUE
 Results:        Int_t NofWords        -- number of data words
 Exceptions:     NofWords = kEsoneError on error
 Description:    Address scan: Executes cnafs starting with 'start',
                               ending with 'stop',
                               stops whenever Q=0
                 Esone call: csmad(), cfmad()

                 >>> protected method <<<
 Keywords:

Int_t EsoneCXUBX(TMrbEsoneCnaf& Cnaf, TArrayI& Data, Int_t First, Int_t Last, Bool_t D16Flag, Bool_t QXfer)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneCXUBX
 Purpose:        Block transfer
 Arguments:      TMrbEsoneCnaf & Cnaf  -- cnaf
                 TArrayI & Data        -- data
                 Int_t Start           -- data index to start with
                 Int_t NofWords        -- number of words to xfer
                 Bool_t D16Flag        -- 16 bit data if kTRUE
                 Bool_t QXfer          -- if xfer is to be controlled by Q
 Results:        Int_t NofWords        -- number of data words
 Exceptions:     NofWords = kEsoneError on error
 Description:    Executes a block transfer
                 Esone call: csubr(), cfubr(), csubc(), cfubc()

                 >>> protected method <<<
 Keywords:

Bool_t EsoneSpecial(EMrbEsoneCnafType Type, Int_t Crate, Int_t Station, Int_t Subaddr, Int_t Function, Int_t& Data, Bool_t D16Flag)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneSpecial
 Purpose:        Excecute special cnaf
 Arguments:      EMrbEsoneCnafType Type  -- cnaf type
                 Int_t Crate             -- crate C
                 Int_t Station           -- station N
                 Int_t Subaddr           -- subaddress A
                 Int_t Function          -- function F
                 Int_t & Data            -- data i/o
                 Bool_t D16Flag          -- 16 bit data if kTRUE
 Results:        kTRUE/kFALSE
 Exceptions:
 Description:    Executes a special cnaf, 16 or 24 bit
                 Esone call: cssa(), cfsa()
                 >>> protected method <<<
 Keywords:

const Char_t * EsoneCERROR(TString& ErrMsg, Int_t ErrorCode, Bool_t DateFlag)
________________________________________________________________[C++ METHOD]

 Name:           TMrbEsone::EsoneCERROR
 Purpose:        Report error
 Arguments:      TString & ErrMsg      -- error message
                 Int_t ErrorCode       -- error code
                 Bool_t DateFlag       -- include date if kTRUE
 Results:        Char_t * ErrMsg       -- pointer to error message
 Exceptions:
 Description:    Reports any error recently produced by a esone call
                 Esone call: cerror()

                 >>> protected method <<<
 Keywords:

TMrbEsone(Bool_t Offline = kFALSE)
TMrbEsone(const Char_t* HostName, Bool_t Offline = kFALSE)
~TMrbEsone()
{}
void SetOffline(Bool_t Offline = kTRUE)
{ fOffline = Offline; }
Bool_t IsOffline()
{ return(fOffline); }
void ClearStatus()
 camac data
{ fStatus = 0; }
void SetX()
{ fStatus |= (UInt_t) kEsoneX; }
void SetQ()
{ fStatus |= (UInt_t) kEsoneQ; }
void SetXQ()
{ fStatus |= (UInt_t) (kEsoneQ|kEsoneX); }
void SetError()
{ fStatus |= (UInt_t) kEsoneError; }
Bool_t GetX()
{ return(IS_X(fStatus)); }
Bool_t GetQ()
{ return(IS_Q(fStatus)); }
Bool_t IsError()
{ return(IS_ERROR(fStatus)); }
TMrbNamedX * GetAction()
{ return(fAction); }
void SetAction(EMrbEsoneCamacAction Action)
{ fAction = fLofCamacActions.FindByIndex(Action); }
Bool_t ClearBroadCast(Int_t Crate)
{ return(this->SetBroadCast(Crate, 0)); }
void UseBroadCast(Bool_t Flag)
{ fUseBroadCast = Flag; }
void Print(Option_t* Option) const
 misc
{ TObject::Print(Option); }
Bool_t ReadFromFile(const Char_t* FileName)
{ return(kTRUE); }
const Char_t * GetServerName()
{ return(fServerType.GetName()); }
Int_t GetServerIndex()
{ return(fServerType.GetIndex()); }
Bool_t IsMarabouServer()
{ return(fServerType.GetIndex() == kES_MARABOU); }
Bool_t IsMbsServer()
{ return(fServerType.GetIndex() == kES_MBS); }
TSocket * GetSocket()
{ return(fSocket); }
const Char_t * GetControllerName()
{ return(fController.GetName()); }
Int_t GetControllerIndex()
{ return(fController.GetIndex()); }
void Help()
{ gSystem->Exec(Form("mrbHelp %s", this->ClassName())); }
void SetVerboseMode(Bool_t VerboseFlag = kTRUE)
{ fVerboseMode = VerboseFlag; }
Bool_t IsVerbose()
{ return(fVerboseMode); }
void Abort()
{ fAborted = kTRUE; }
Bool_t IsAborted()
{ return(fAborted); }
Bool_t IsConnected()
{ return(fHostAddr > 0); }
void SetSingleStep(Bool_t Flag = kTRUE)
{ fSingleStep = Flag; }
Bool_t IsSingleStep()
{ return(fSingleStep); }
void SetCB(TArrayI& CB, Int_t Repeat = 0, Int_t Tally = 0, Int_t Lam = 0, Int_t DMA = 0)



Revision: $Id: TMrbEsone.h,v 1.10 2007/04/17 11:22:02 Rudolf.Lutter Exp $

ROOT page - Home page - Class index - Top of the page

This page has been automatically generated by use of ROOT's THtml class. If you have any comments or suggestions about the page layout send a mail to Marabou Support.