ROOT logo
#ifndef __TMrbMesytec_Mux16_h__
#define __TMrbMesytec_Mux16_h__

//_________________________________________________[C++ CLASS DEFINITION FILE]
//////////////////////////////////////////////////////////////////////////////
// Name:           expconf/inc/TMrbMesytec_Mux16.h
// Purpose:        Define experimental configuration for MARaBOU
// Class:          TMrbMesytec_Mux16        -- VME digitizer adc
// Description:    Class definitions to implement a configuration front-end for MARaBOU
// Author:         R. Lutter
// Revision:       $Id: TMrbMesytec_Mux16.h,v 1.4 2011-09-14 09:26:23 Marabou Exp $       
// Date:           
// Keywords:
//////////////////////////////////////////////////////////////////////////////

namespace std {} using namespace std;

#include <cstdlib>
#include <iostream>
#include <sstream>
#include <iomanip>
#include <fstream>

#include "Rtypes.h"
#include "TSystem.h"
#include "TObject.h"

#include "TMrbModuleRaw.h"
#include "TMrbModuleChannel.h"

//______________________________________________________[C++ CLASS DEFINITION]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMrbMesytec_Mux16
// Purpose:        Define a (pseudo) module type Mesytec MUX
// Description:    Defines a (pseudo) module type Mesytec MUX
// Keywords:
//////////////////////////////////////////////////////////////////////////////

class TMrbMesytec_Mux16 : public TMrbModuleRaw {

	public:
		TMrbMesytec_Mux16() {};  													// default ctor
		TMrbMesytec_Mux16(const Char_t * MuxName, const Char_t * ModuleName, Int_t FirstChannel, Int_t NofSubmodules = 1); 	// define a new module
		~TMrbMesytec_Mux16() {};													// default dtor

		const Char_t * GetParamNames(TString & ParamNames);

		Bool_t SetHistoName(Int_t Channel, const Char_t * HistoName, const Char_t * HistoTitle = "");
		const Char_t * GetHistoName(TString & HistoName, Int_t Channel);
		const Char_t * GetHistoTitle(TString & HistoTitle, Int_t Channel);
		inline TObjArray * GetHistoNames() { return(&fHistoNames); };

		Bool_t BookHistograms();

		Bool_t WriteLookup(const Char_t * LkpFile);

		inline Int_t GetFirstChannel() { return(fFirstChannel); };
		inline Int_t GetNofSubmodules() { return(fNofSubmodules); };
		inline TMrbModule * GetModule() { return(fModule); };
		inline Int_t GetModuleSerial() { return(fModule ? fModule->GetSerial() : 0); };

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

	protected:

		TMrbModule * fModule;			// module mux is assigned to
		Int_t fFirstChannel;			// where mux channels start
		Int_t fNofSubmodules;			// number of muxes stacked together
		TObjArray fHistoNames;			// histo names

	ClassDef(TMrbMesytec_Mux16, 1)		// [Config] Mesytec multiplexer
};

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