#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();
}
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.
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.