Concrete implementation of BaseDaq for CAEN V172X digitizers. More...
#include <V172X_Daq.hh>
Public Member Functions | |
V172X_Daq () | |
Default constructor. | |
~V172X_Daq () | |
Destructor. | |
V172X_Params * | GetParameters () |
Get the parameters for this daq setup. | |
int | Initialize () |
Initialize the hardware communication. | |
int | Update () |
Update the hardware parameters. | |
Private Member Functions | |
void | DataAcquisitionLoop () |
Acquire the data from the hardware and store in _events_queue. | |
int | InitializeBoard (int boardnum) |
Initialize parameters for a single board. | |
void | WriteVMERegister (uint32_t address, uint32_t write_me, int32_t handle) throw (std::runtime_error) |
uint32_t | ReadVMERegister (uint32_t address, int32_t handle) throw (std::runtime_error) |
Read data from the VME register <address>. | |
void | WriteVMERegisters (uint32_t address, uint32_t write_me) throw (std::runtime_error) |
void | WriteVMERegisters (uint32_t address, uint32_t *write_me) throw (std::runtime_error) |
void | ReadVMERegisters (uint32_t address, uint32_t *data) throw (std::runtime_error) |
Private Attributes | |
int32_t | _handle_vme_bridge |
caenvme opaque id for vme_bridge | |
int32_t | _handle_board [V172X_Params::nboards] |
caenvme opaque id for boards | |
bool | _initialized |
Is hardware initialized? | |
V172X_Params | _params |
parameters for the boards | |
long | _triggers |
total triggers received so far | |
boost::mutex | _vme_mutex |
mutex protecting write access to VME |
Concrete implementation of BaseDaq for CAEN V172X digitizers.
Definition at line 24 of file V172X_Daq.hh.
void V172X_Daq::WriteVMERegister | ( | uint32_t | address, | |
uint32_t | write_me, | |||
int32_t | handle | |||
) | throw (std::runtime_error) [private] |
Writes the data <write_me> to the VME address <address>
address | The address to write the data to | |
write_me | The data to write | |
handle | The CAENVMElib handle for the connection |
Definition at line 24 of file V172X_Daq_Helpers.cc.
void V172X_Daq::WriteVMERegisters | ( | uint32_t | address, | |
uint32_t | write_me | |||
) | throw (std::runtime_error) [private] |
Writes data to the VME register <address> on EACH board
address | The least-significant half of the address for each board | |
write_me | The data to write to each boad's register |
Definition at line 81 of file V172X_Daq_Helpers.cc.
void V172X_Daq::WriteVMERegisters | ( | uint32_t | address, | |
uint32_t * | write_me | |||
) | throw (std::runtime_error) [private] |
Write different data to the same address on each board
address | leas significant half of the address to write for each board | |
write_me | array of data to write, should be size of nboards |
Definition at line 134 of file V172X_Daq_Helpers.cc.
void V172X_Daq::ReadVMERegisters | ( | uint32_t | address, | |
uint32_t * | data | |||
) | throw (std::runtime_error) [private] |
Read the VME register <address> from each board, store the result in <data>
address | least significant address half to read from each board | |
data | array to store the results in |
Definition at line 187 of file V172X_Daq_Helpers.cc.