ROOT logo
#ifndef __TMbsEvtBuilder_h__
#define __TMbsEvtBuilder_h__

//_________________________________________________[C++ CLASS DEFINITION FILE]
//////////////////////////////////////////////////////////////////////////////
// Name:           mbssetup/inc/TMbsEvtBuilder.h
// Purpose:        Define a MBS setup
// Class:          TMbsEvtBuilder       -- event builder
// Description:    Class definitions to generate a MBS setup.
// Author:         R. Lutter
// Revision:       $Id: TMbsEvtBuilder.h,v 1.5 2005-09-09 06:59:14 Rudolf.Lutter Exp $       
// Date:           
// Keywords:
//////////////////////////////////////////////////////////////////////////////

#include "TObject.h"
#include "TSystem.h"
#include "TString.h"

#include "TMrbNamedX.h"

#include "TMbsSetupCommon.h"

//______________________________________________________[C++ CLASS DEFINITION]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsEvtBuilder
// Purpose:        Define event builder
// Methods:
// Description:    Creates an event builder.
// Keywords:
//////////////////////////////////////////////////////////////////////////////

class TMbsEvtBuilder : public TObject {

	public:
		enum			{	kNofBuffersPerStream	=	8	};
		enum			{	kNofStreams 			=	8	};

	public:

		TMbsEvtBuilder();				// ctor

		~TMbsEvtBuilder() {};			// default dtor

		Bool_t SetProcName(const Char_t * ProcName);		// proc name/addr
		const Char_t * GetProcName();
		const Char_t * GetProcAddr();

		Bool_t SetType(const Char_t * ProcType);		// processor type
		Bool_t SetType(EMbsProcType ProcType);
		TMrbNamedX * GetType() const;

		Bool_t SetCrate(Int_t Crate);			// crate number
		Int_t GetCrate() const;

											// buffers
		void SetBuffers(Int_t BufferSize,	Int_t NofBuffers = kNofBuffersPerStream, Int_t NofStreams = kNofStreams);
		Int_t GetBufferSize() const;
		Int_t GetNofBuffers() const;
		Int_t GetNofStreams() const;

		Bool_t SetFlushTime(Int_t Seconds);		// flushtime
		Int_t GetFlushTime() const;

		Bool_t SetVSBAddr(UInt_t Addr);			// vsb addr
		UInt_t GetVSBAddr() const;

		void RemoveSetup(); 			// remove entries from setup data base
		void Reset();	 				// reset to default

		inline void Help() { gSystem->Exec(Form("mrbHelp %s", this->ClassName())); };

	protected:
		TString fName;					// temp storage: name
		TString fAddr;					// ... addr

	ClassDef(TMbsEvtBuilder, 1) 	// [MBS Setup] Event builder
};

#endif
 TMbsEvtBuilder.h:1
 TMbsEvtBuilder.h:2
 TMbsEvtBuilder.h:3
 TMbsEvtBuilder.h:4
 TMbsEvtBuilder.h:5
 TMbsEvtBuilder.h:6
 TMbsEvtBuilder.h:7
 TMbsEvtBuilder.h:8
 TMbsEvtBuilder.h:9
 TMbsEvtBuilder.h:10
 TMbsEvtBuilder.h:11
 TMbsEvtBuilder.h:12
 TMbsEvtBuilder.h:13
 TMbsEvtBuilder.h:14
 TMbsEvtBuilder.h:15
 TMbsEvtBuilder.h:16
 TMbsEvtBuilder.h:17
 TMbsEvtBuilder.h:18
 TMbsEvtBuilder.h:19
 TMbsEvtBuilder.h:20
 TMbsEvtBuilder.h:21
 TMbsEvtBuilder.h:22
 TMbsEvtBuilder.h:23
 TMbsEvtBuilder.h:24
 TMbsEvtBuilder.h:25
 TMbsEvtBuilder.h:26
 TMbsEvtBuilder.h:27
 TMbsEvtBuilder.h:28
 TMbsEvtBuilder.h:29
 TMbsEvtBuilder.h:30
 TMbsEvtBuilder.h:31
 TMbsEvtBuilder.h:32
 TMbsEvtBuilder.h:33
 TMbsEvtBuilder.h:34
 TMbsEvtBuilder.h:35
 TMbsEvtBuilder.h:36
 TMbsEvtBuilder.h:37
 TMbsEvtBuilder.h:38
 TMbsEvtBuilder.h:39
 TMbsEvtBuilder.h:40
 TMbsEvtBuilder.h:41
 TMbsEvtBuilder.h:42
 TMbsEvtBuilder.h:43
 TMbsEvtBuilder.h:44
 TMbsEvtBuilder.h:45
 TMbsEvtBuilder.h:46
 TMbsEvtBuilder.h:47
 TMbsEvtBuilder.h:48
 TMbsEvtBuilder.h:49
 TMbsEvtBuilder.h:50
 TMbsEvtBuilder.h:51
 TMbsEvtBuilder.h:52
 TMbsEvtBuilder.h:53
 TMbsEvtBuilder.h:54
 TMbsEvtBuilder.h:55
 TMbsEvtBuilder.h:56
 TMbsEvtBuilder.h:57
 TMbsEvtBuilder.h:58
 TMbsEvtBuilder.h:59
 TMbsEvtBuilder.h:60
 TMbsEvtBuilder.h:61
 TMbsEvtBuilder.h:62
 TMbsEvtBuilder.h:63
 TMbsEvtBuilder.h:64
 TMbsEvtBuilder.h:65
 TMbsEvtBuilder.h:66
 TMbsEvtBuilder.h:67
 TMbsEvtBuilder.h:68
 TMbsEvtBuilder.h:69
 TMbsEvtBuilder.h:70
 TMbsEvtBuilder.h:71
 TMbsEvtBuilder.h:72
 TMbsEvtBuilder.h:73
 TMbsEvtBuilder.h:74
 TMbsEvtBuilder.h:75
 TMbsEvtBuilder.h:76
 TMbsEvtBuilder.h:77
 TMbsEvtBuilder.h:78
 TMbsEvtBuilder.h:79
 TMbsEvtBuilder.h:80