ROOT logo
(UNKNOWN PRODUCT) » INCLUDE » TMrbEsone

class TMrbEsone: public TObject

_________________________________________________[C++ CLASS DEFINITION FILE]

 Name:           esone/inc/TMrbEsone.h
 Purpose:        Interface to the ESONE client library
 Class:          TMrbEsone            -- base class
 Description:    Class definitions to establish an
                 ESONE client/server connection.
 Author:         R. Lutter
 Revision:       $Id: TMrbEsone.h,v 1.10 2007-04-17 11:22:02 Rudolf.Lutter Exp $
 Date:
 Keywords:

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&)
Bool_tStartServer(const Char_t* HostName)
virtual voidStreamer(TBuffer&)
voidTObject::StreamerNVirtual(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
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

TMrbEsone(Bool_t Offline = kFALSE)
TMrbEsone(const Char_t* HostName, Bool_t Offline = kFALSE)
~TMrbEsone()
{}
Bool_t StartServer(const Char_t* HostName)
Bool_t ClearDW(Int_t Crate)
 cccc: clear dataway (CAMAC-C)
Bool_t InitDW(Int_t Crate)
 cccz: initialize dataway (CAMAC-Z)
Bool_t SetDWInhibit(Int_t Crate, Bool_t Flag = kTRUE)
 ccci: set/clear dataway inhibit (CAMAC-I)
Bool_t DWIsInhibited(Int_t Crate)
 ctci: test dataway inhibit
UInt_t ConnectToHost(const Char_t* HostName, Bool_t Reconnect = kFALSE)
 ccopen: connect to camac host
Bool_t ExecCnaf(const Char_t* Cnaf, Bool_t D16Flag = kFALSE)
 cfsa/cssa: single camac action
Bool_t ExecCnaf(Int_t Crate, Int_t Station, Int_t Subaddr, Int_t Function, Bool_t D16Flag = kFALSE)
Bool_t ExecCnaf(const Char_t* Cnaf, Int_t& Data, Bool_t D16Flag = kFALSE)
Bool_t ExecCnaf(Int_t Crate, Int_t Station, Int_t Subaddr, Int_t Function, Int_t& Data, Bool_t D16Flag = kFALSE)
Bool_t ExecCnaf(TMrbEsoneCnaf& Cnaf, Bool_t D16Flag = kFALSE)
 cfga/csga: multiple camac action
Int_t ExecCnafList(TObjArray& CnafList, Bool_t D16Flag = kFALSE)
 cfmad/csmad: adress scan
Int_t AddressScan(const Char_t* Start, const Char_t* Stop, TArrayI& Data, TObjArray& Results, Bool_t D16Flag = kFALSE)
Int_t AddressScan(Int_t Crate, Int_t Start, Int_t Stop, Int_t Function, TArrayI& Data, TObjArray& Results, Bool_t D16Flag = kFALSE)
Int_t AddressScan(TMrbEsoneCnaf& Start, TMrbEsoneCnaf& Stop, TArrayI& Data, TObjArray& Results, Bool_t D16Flag = kFALSE)
 cfubc/csubc, cfubr/csubr: block transfer
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)
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)
Int_t BlockXfer(TMrbEsoneCnaf& Cnaf, TArrayI& Data, Int_t Start = 0, Int_t NofWords = -1, Bool_t D16Flag = kFALSE, Bool_t QXfer = kFALSE)
UInt_t GetStatus(Bool_t& XFlag, Bool_t& QFlag, Int_t& ErrorCode, TString& Error)
 ctstat: get status of last camac action
const Char_t * GetError(TString& Error)
TMrbNamedX * GetHost(UInt_t HostAddr)
 camac host
TMrbNamedX * GetHost(const Char_t* HostName)
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)
Bool_t HasBroadCast()
 broadcast
Bool_t HasBroadCast(Int_t& NsetMask, Int_t& NexecCmd)
Bool_t SetBroadCast(Int_t Crate, UInt_t BroadCast)
Bool_t ClearBroadCast(Int_t Crate)
{ return(this->SetBroadCast(Crate, 0)); }
Bool_t AddToBroadCast(Int_t Crate, Int_t Station)
Bool_t RemoveFromBroadCast(Int_t Crate, Int_t Station)
UInt_t GetBroadCast(Int_t Crate)
void UseBroadCast(Bool_t Flag)
{ fUseBroadCast = Flag; }
Bool_t HasFastCamac()
 special camac functions
Bool_t SetAutoRead(Int_t Crate, Bool_t AutoRead = kTRUE)
Bool_t ReadDoubleWord(Int_t Crate, Bool_t ReadDW = kTRUE)
void Print(Option_t* Option) const
 misc
{ TObject::Print(Option); }
void Print(TMrbEsoneCnaf& Cnaf)
void Print(TObjArray& CnafList, Int_t From = 0, Int_t To = -1)
void PrintError(const Char_t* EsoneCall, const Char_t* Method)
void PrintStatus(const Char_t* Method)
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()
Bool_t IsAborted()
{ return(fAborted); }
Bool_t IsConnected()
{ return(fHostAddr > 0); }
void SetSingleStep(Bool_t Flag = kTRUE)
{ fSingleStep = Flag; }
Bool_t IsSingleStep()
{ return(fSingleStep); }
Bool_t StartMbsServer(const Char_t* HostName)
Bool_t StartMarabouServer(const Char_t* HostName)
Bool_t Reset(Bool_t Offline = kFALSE)
Bool_t CheckConnection(const Char_t* Method)
Bool_t CheckCrate(Int_t Crate, const Char_t* Method)
void PrintResults(const Char_t* Method, TMrbEsoneCnaf& Cnaf)
void PrintResults(const Char_t* Method, TObjArray& CnafList)
Bool_t EsoneCDREG(UInt_t& Handle, Int_t Crate, Int_t Station = 0, Int_t SubAddr = 0)
Bool_t EsoneCDREG(UInt_t& Handle, TMrbEsoneCnaf& Cnaf)
Bool_t EsoneCDCTRL()
Bool_t EsoneCCCC(Int_t Crate)
Bool_t EsoneCCOPEN(const Char_t* HostName, UInt_t& HostAddress)
Bool_t EsoneCCCI(Int_t Crate, Bool_t Inhibit = kTRUE)
Bool_t EsoneCTCI(Int_t Crate)
Bool_t EsoneCCCZ(Int_t Crate)
UInt_t EsoneCTSTAT()
Bool_t EsoneCXSA(TMrbEsoneCnaf& Cnaf, Bool_t D16Flag)
Int_t EsoneCXGA(TObjArray& CnafList, Bool_t D16Flag)
Int_t EsoneCXMAD(TMrbEsoneCnaf& Start, TMrbEsoneCnaf& Stop, TArrayI& Data, TObjArray& Results, Bool_t D16Flag)
 [csubr, cfubr, csubc, cfubc] block xfer
Bool_t EsoneSpecial(EMrbEsoneCnafType Type, Int_t Crate, Int_t Station, Int_t Subaddr, Int_t Function, Int_t& Data, Bool_t D16Flag)
const Char_t * EsoneCERROR(TString& ErrMsg, Int_t ErrorCode, Bool_t DateFlag)
void SetCB(TArrayI& CB, Int_t Repeat = 0, Int_t Tally = 0, Int_t Lam = 0, Int_t DMA = 0)