CaenIO

Name

CaenIO -- Support for the CAEN V262 I/O register module.

Synopsis


#include <CaenIO.h>
            
 class CaenIO {

  CCaenIO(UInt_t base, int nCrate = 0);

  UShort_t ReadInput(UInt_t input);
  UShort_t ReadInputs();
  void PulseOutput(UInt_t output);
  void SetLevel(UInt_t output);
  void ClearLevel(UInt_t output);
  void ClearAll();
  void SetECL(UShort_t value);
  void ClearECL();
}

Description

This class provides low level support for the CAEN V262 I/O register. This module is used by NSCL standard VME trigger and busy classes, but can also be used to provide application specific functionality.

Public member functions

CCaenIO(UInt_t base, int nCrate = 0);

Creates a CCaenIO object. The object is connected to a real hardware module and can control that module via its member functions. The base parameter must correspond to the module base address set in the hardware's rotary switches. If nCrate is specified, it represents the number of the VME crate in which the module has been installed. If not, the module is assumed to be installed in VME crate 0, which is suitable for systems with a single VME crate.

UShort_t ReadInput(UInt_t input);

Reads one of the module's inputs (numbered 0-3). If the input is NIM true, the function reaturns 1 otherwise it returns 1.

UShort_t ReadInputs();

Reads all of the module inputs and returns a mask with bits set to 1 for inputs that have NIM true levels and 0 otherwise. Input 0 corresponds to the least significant bit of the mask returned.

void PulseOutput(UInt_t output);

Pulses the selected SHP output.

void SetLevel(UInt_t output);

Sets the value of one of the OUT outputs to a NIM true value.

void ClearLevel(UInt_t output);

Sets the value of one of the OUT outputs to a NIM false value.

void ClearAll();

Clears all OUT and ECL outputs, by setting them to false logic levels.

void SetECL(UShort_t value);

Sets the the ECL outputs to the mask value

void ClearECL();

Sets all of the ECL outputs to false.

Exceptions

std::string exceptions are thrown for bad parameters.