#ifndef __TC2LVulomTB_h__
#define __TC2LVulomTB_h__
#include "TArrayI.h"
#include "TC2LVMEModule.h"
#include "M2L_CommonDefs.h"
class TC2LVulomTB : public TC2LVMEModule {
public:
enum { kRcModuleSettings = 1 };
public:
TC2LVulomTB() {};
TC2LVulomTB(const Char_t * ModuleName,
UInt_t Address = 0, Int_t SegSize = 0, Int_t NofChannels = 0, UInt_t Mapping = 0, Bool_t Offline = kFALSE)
: TC2LVMEModule(ModuleName, "VulomTB", Address, SegSize, NofChannels, Mapping, Offline) {};
~TC2LVulomTB() {};
Bool_t GetModuleInfo(Int_t & BoardId, Int_t & MajorVersion, Int_t & MinorVersion);
Bool_t ReadScaler(TArrayI & ScalerValues, Int_t ScalerNo);
Bool_t ReadChannel(TArrayI & ScalerValues, Int_t ChannelNo);
Bool_t EnableChannel(Int_t ChannelNo);
Bool_t DisableChannel(Int_t ChannelNo);
Bool_t SetEnableMask(UInt_t & Bits);
Bool_t GetEnableMask(UInt_t & Bits);
Bool_t SetScaleDown(Int_t & ScaleDown, Int_t ChannelNo = kVulomTBAllChannels);
Bool_t GetScaleDown(Int_t & ScaleDown, Int_t ChannelNo);
Bool_t ReadScaleDown(TArrayI & ScaleDown);
Bool_t ClearScaler(Int_t ChannelNo = kVulomTBAllChannels);
Bool_t SaveSettings(const Char_t * SettingsFile = NULL);
Bool_t RestoreSettings(const Char_t * SettingsFile = NULL);
inline void Help() { gSystem->Exec(Form("mrbHelp %s", this->ClassName())); };
protected:
Bool_t ExecFunction(Int_t Fcode, TArrayI & DataSend, TArrayI & DataRecv, Int_t ChannelNo = kVulomTBAllChannels);
ClassDef(TC2LVulomTB, 1)
};
#endif