ROOT logo
#ifndef __TMrbModuleRaw_h__
#define __TMrbModuleRaw_h__

//_________________________________________________[C++ CLASS DEFINITION FILE]
//////////////////////////////////////////////////////////////////////////////
// Name:           expconf/inc/TMrbModuleRaw.h
// Purpose:        Define experimental configuration for MARaBOU
// Class:          TMrbModuleRaw     -- a user-defined module
// Description:    Class definitions to implement a configuration front-end for MARaBOU
// Author:         R. Lutter
// Revision:       $Id: TMrbModuleRaw.h,v 1.8 2008-01-14 09:48:51 Rudolf.Lutter 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 "TMrbModule.h"

class TMrbModuleChannel;

//______________________________________________________[C++ CLASS DEFINITION]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMrbModuleRaw
// Purpose:        Implement a user-defined module
// Description:    Defines a module of unknown (user-defined) type.
// Keywords:
//////////////////////////////////////////////////////////////////////////////

class TMrbModuleRaw : public TMrbModule {

	public:

		TMrbModuleRaw() {};														// default ctor
		TMrbModuleRaw(const Char_t * ModuleName, const Char_t * ModuleID, Int_t NofChannels, Int_t Range,
																	Option_t * DataType = "I");	// ctor
		~TMrbModuleRaw() {};														// remove silena adc from list

		Bool_t MakeReadoutCode(ofstream & RdoStrm, TMrbConfig::EMrbModuleTag TagIndex);  	// generate part of code
		Bool_t MakeReadoutCode(ofstream & RdoStrm, TMrbConfig::EMrbModuleTag TagIndex, TMrbModuleChannel * Channel, Int_t Value = 0);  	// generate code for given channel
		Bool_t MakeReadoutCode(ofstream & RdoStrm, TMrbConfig::EMrbReadoutTag TagIndex, TMrbTemplate & Template, const Char_t * Prefix = NULL) { return(kFALSE); }; // generate readout code

		Bool_t AddToListOfModules(); 							// raw modules has to be added to list explicitly

		inline Bool_t ConvertToInt() const { return(kFALSE); };						// data type remains unchanged
		virtual inline Bool_t IsRaw() const { return(kTRUE); };						// indicates raw (user-defined) mode

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

	protected:
		virtual void DefineRegisters() {}; 				// define registers

	ClassDef(TMrbModuleRaw, 1)		// [Config] A "raw" (user-defined) module
};

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