CVMEScalerLRS1151

Name

CVMEScalerLRS1151 -- High level support for the LeCroy LRS 1151 VME scaler.

Synopsis


 #include <CVMEScalerLRS1151.h>
             
 class CVMEScalerLRS1151 {

   CVMEScalerLRS1151(UInt_t base, int crate = 0);

  virtual void Initialize();
  virtual void Read(std::vector<unsigned long>& Scalers);
  virtual void Clear();
  virtual unsigned int size();
}

Description

Provides high level support for the LeCroy Model LRS 1151 16 channel VME scaler. This module is not recommended for new applications as it is no longer being manufactured. Use the SIS 3820, or CAEN V830/CAEN V820 instead. High level support is suitable for use with the production readout skeleton.

When used with the production readout skeleton, you don't need to do anything other than to construct a scaler and register it with the framwork (see Examples below). The public members are documented in the event you want to use this support software in other contexts.

Public member functions

CVMEScalerLRS1151(UInt_t base, int crate = 0);

Constructs an object that interfaces to a specific LRS 1151 scaler module. base is the VME base address of the module as set in the module switches. If crate is not defined, it defaults to 0 which is suitable for a single VME crate system. Otherwise, crate is the number of the VME crate in which the module is installed.

virtual void Initialize();

Initializes the module. Once initialized, the module counters are ready for pulses.

virtual void Read(std::vector<unsigned long>& Scalers);

Latches the counters in to the second register rank, and reads all channels, appending their values to the Scalers parameter. The latch operation ensures that there is no time skew between the values of all channels.

virtual void Clear();

Clears the scaler counters.

virtual unsigned int size();

Returns the number of channels in the module. Note that the production readout framework does not ever call this function.

Examples

The example below shows how to use one of these modules in the production readout framework:

Example 1. Using the LRS 1151 in the production readout framework.


#include <CLVMEScalerLRS1151.h>
...
void
CMyExperiment::SetupScalers(CExperiment& rExperiment)
{
   CReadoutMain::SetupScalers(rExperiment);


   CScaler* pScaler = new CVMEScalerLRS1151(0xc00200, 0);
   rExperiment.AddScalerModule(pScaler);

}