#ifndef __TMrbOrtec_413A_h__
#define __TMrbOrtec_413A_h__
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 "TMrbCamacModule.h"
class TMrbModuleChannel;
class TMrbOrtec_413A : public TMrbCamacModule {
public:
enum EMrbRegisters { kRegLowerThresh,
kRegStatus,
kRegGate
};
enum EMrbOrtecStatus { kStatusZSD = BIT(8),
kStatusCRE = BIT(9),
kStatusSME = BIT(12),
kStatusCRA = BIT(13),
kStatusCLE = BIT(14),
kStatusOSD = BIT(15)
};
enum EMrbOrtecGate { kGateG1D = BIT(0),
kGateG2D = BIT(1),
kGateG3D = BIT(2),
kGateG4D = BIT(3),
kGateMGD = BIT(4)
};
enum { kDefaultLowerThresh = 36 };
enum { kDefaultStatus = kStatusCRE | kStatusOSD | kStatusZSD | kStatusCRA };
enum { kDefaultGate = kGateG1D | kGateG2D | kGateG3D | kGateG4D };
public:
TMrbOrtec_413A() {};
TMrbOrtec_413A(const Char_t * ModuleName, const Char_t * ModulePosition);
~TMrbOrtec_413A() {};
Bool_t MakeReadoutCode(ofstream & RdoStrm, TMrbConfig::EMrbModuleTag TagIndex);
Bool_t MakeReadoutCode(ofstream & RdoStrm, TMrbConfig::EMrbModuleTag TagIndex, TMrbModuleChannel * Channel, Int_t Value = 0);
virtual inline const Char_t * GetMnemonic() const { return("ortec_413a"); };
inline void Help() { gSystem->Exec(Form("mrbHelp %s", this->ClassName())); };
protected:
void DefineRegisters();
ClassDef(TMrbOrtec_413A, 1)
};
#endif