ROOT logo
#ifndef __TMrbScaler_h__
#define __TMrbScaler_h__

//_________________________________________________[C++ CLASS DEFINITION FILE]
//////////////////////////////////////////////////////////////////////////////
// Name:           expconf/inc/TMrbScaler.h
// Purpose:        Define experimental configuration for MARaBOU
// Class:          TMrbScaler      -- base class for camac and vme scalers
// Description:    Class definitions to implement a configuration front-end for MARaBOU
// Author:         R. Lutter
// Revision:       $Id: TMrbScaler.h,v 1.6 2005-09-09 06:59:13 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 "TObjArray.h"

//______________________________________________________[C++ CLASS DEFINITION]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMrbScaler
// Purpose:        Define methods for a scaler
// Description:    Defines a CAMAC/VME scaler
// Keywords:
//////////////////////////////////////////////////////////////////////////////

class TMrbScaler {

	public:

		TMrbScaler();					// ctor

		virtual ~TMrbScaler() {};		// default dtor

		void Preset(Int_t Preset);													// preset scaler
		inline Int_t GetPresetValue() const { return(fPresetValue); };

		inline void SetMode(UInt_t ScalerMode) { fScalerMode |= ScalerMode; };		// scaler mode
		inline UInt_t GetMode() const { return(fScalerMode); };

		inline void SetDTScaler() { fScalerMode |= TMrbConfig::kScalerDeadTime; }; 	// to be used as dead time scaler
		inline Bool_t IsDTScaler() const { return((fScalerMode & TMrbConfig::kScalerDeadTime) != 0); };

		void SetExternalGate(Bool_t XGateFlag = kTRUE); 	// enable/disable external gate
		inline Bool_t HasExternalGate() const { return((fScalerMode & TMrbConfig::kScalerExternalGate) != 0); };

		inline void Help() { gSystem->Exec("mrbHelp TMrbScaler"); };

	protected:
		UInt_t fScalerMode; 			// scaler mode
		Int_t fPresetValue;				// preset

	ClassDef(TMrbScaler, 1) 	// [Config] Base class describing a scaler (CAMAC or VME)
};

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