#ifndef __TMrbCamacModule_h__
#define __TMrbCamacModule_h__
namespace std {} using namespace std;
#include <cstdlib>
#include <iostream>
#include <sstream>
#include <iomanip>
#include <fstream>
#include "Rtypes.h"
#include "TSystem.h"
#include "TMrbTemplate.h"
#include "TMrbCNAF.h"
#include "TMrbModule.h"
class TMrbSubevent;
class TMrbCamacModule : public TMrbModule {
public:
TMrbCamacModule() {};
TMrbCamacModule(const Char_t * ModuleName, const Char_t * ModuleID,
const Char_t * ModulePosition, Int_t SubDevice, Int_t NofChannels, Int_t Range);
~TMrbCamacModule() {};
inline Int_t GetCNAF(TMrbCNAF::EMrbCNAF cnaf) const {
return(fCNAF.Get(cnaf));
};
inline TMrbCNAF * GetCNAF() { return(&fCNAF); };
inline Int_t GetStation() const { return(fCNAF.Get(TMrbCNAF::kCnafStation)); };
Bool_t MakeReadoutCode(ofstream & RdoStrm, TMrbConfig::EMrbReadoutTag TagIndex, TMrbTemplate & Template, const Char_t * Prefix = NULL);
Bool_t MakeReadoutCode(ofstream & RdoStrm, TMrbConfig::EMrbModuleTag TagIndex) { return(kFALSE); };
Bool_t MakeReadoutCode(ofstream & RdoStrm, TMrbConfig::EMrbModuleTag TagIndex, TMrbSubevent * Subevent, Int_t Value = 0) { return(kFALSE); };
inline void Help() { gSystem->Exec(Form("mrbHelp %s", this->ClassName())); };
void Print(Option_t * Option) const { TObject::Print(Option); }
void Print(ostream & OutStrm, const Char_t * Prefix = "") const;
virtual inline void Print() const { Print(cout, ""); };
protected:
TMrbCNAF fCNAF;
ClassDef(TMrbCamacModule, 1)
};
#endif