ROOT logo
#ifndef __TC2LVulomTB_h__
#define __TC2LVulomTB_h__

//_________________________________________________[C++ CLASS DEFINITION FILE]
//////////////////////////////////////////////////////////////////////////////
// Name:           TC2LVulomTB.h
// Purpose:        Connect to a SIS 3302 flash ADC
// Class:          TC2LVulomTB            -- base class
// Description:    Class definitions to establish a connection to a VME
//                 module running under LynxOs.
// Author:         R. Lutter
// Revision:       $Id: TC2LVulomTB.h,v 1.3 2009-08-06 08:32:34 Rudolf.Lutter Exp $
// Date:           $Date: 2009-08-06 08:32:34 $
// Keywords:
//////////////////////////////////////////////////////////////////////////////

#include "TArrayI.h"
#include "TC2LVMEModule.h"
#include "M2L_CommonDefs.h"

//______________________________________________________[C++ CLASS DEFINITION]
//////////////////////////////////////////////////////////////////////////////
// Name:           TC2LVulomTB
// Purpose:        Connect to a SIS 3302 ADC
// Description:    Defines a module and tries to connect to it
// Keywords:
//////////////////////////////////////////////////////////////////////////////

class TC2LVulomTB : public TC2LVMEModule {

	public:
		enum	{	kRcModuleSettings	=	1	};

	public:

		TC2LVulomTB() {};		// default ctor

		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() {};							// default dtor

		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)		// [Access to LynxOs] Connect to a Vulom triggerbox
};

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