#include <CCAENV560.h>
class CCAENV560 {CCAENV560(unsigned long base, int crate crate = 0);
bool GetSectStat(int nSection) throws std::string;
void ScalInc();
void SetVeto();
void ResetVeto();
void Clear();
bool GetVetoStat();
int ReadCounter(int nChannel) throws std::string;
}
Note this software was contributed by Kevin Carnes from James R. Macdonald Lab Kansas State University.
This class is a driver for the CAEN V560 scaler module. This module is a non-latching scaler. The module can be used both as a 32 bit scaler or channels can be ganged together to create 64 bit scalers.
Constructs an object through which you can control a single
CAEN V560 scaler module. base
is the base address of the module as programmed into the module's
rotary switches. crate
is the number of the
VME crate the module is installed in. If not supplied, the
crate
parameter defaults to 0, which is suitable for single crate systems.
The 16 scaler channels in the module are divided into 8 two channel groups. Each group can be switch selectable to be either two 32 bit scalers or 1 64 bit scaler. This function essentially returns the swtich value for a specific section. Section zero is scalers 1/2, section one is scalers 3/4 and so on. A value of false meanst the group is operating as two 32 bit scalers, while a value of true means the carry from the lower numbered scaler is feeding the increment for the higher numbered scaler in the group (1 64 bit scaler).
This test function increments all channels fo the scaler. If a group is in 64 bit mode it is not clear to me if both counters in the group are incremented or not.
Vetoes the module. Scalers will not count if there are inputs.
Turns off the veto on all of the channels of the module. This allows the scaler channels to count.
Clears all channels of the scaler.
Returns true if the module is vetoed or false if not.
Reads the counter for channel nChannel
.
If nChannel
is not legal, a string exception
is thrown.