V172X_Daq Class Reference
[daqman - acquire raw data from digitizers]

Concrete implementation of BaseDaq for CAEN V172X digitizers. More...

#include <V172X_Daq.hh>

Inheritance diagram for V172X_Daq:
BaseDaq

List of all members.

Public Member Functions

 V172X_Daq ()
 Default constructor.
 ~V172X_Daq ()
 Destructor.
V172X_ParamsGetParameters ()
 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

Detailed Description

Concrete implementation of BaseDaq for CAEN V172X digitizers.

Definition at line 24 of file V172X_Daq.hh.


Member Function Documentation

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>

Parameters:
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

Parameters:
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

Parameters:
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>

Parameters:
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.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 20 Jun 2014 for daqman by  doxygen 1.6.1