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.
1.6.1