PAASS
Software suite to Acquire and Analyze Data from Pixie16
XiaListModeDataDecoder Class Reference

Class to decode Xia List mode Data. More...

#include <XiaListModeDataDecoder.hpp>

Public Member Functions

 XiaListModeDataDecoder ()
 Default constructor. More...
 
 ~XiaListModeDataDecoder ()
 Default destructor. More...
 
std::vector< XiaData * > DecodeBuffer (unsigned int *buf, const XiaListModeDataMask &mask)
 

Static Public Member Functions

static double CalculateTimeInSamples (const XiaListModeDataMask &mask, const XiaData &data)
 
static double CalculateTimeInNs (const XiaListModeDataMask &mask, const XiaData &data)
 

Private Member Functions

std::pair< unsigned int, unsigned int > DecodeWordZero (const unsigned int &word, XiaData &data, const XiaListModeDataMask &mask)
 
void DecodeWordTwo (const unsigned int &word, XiaData &data, const XiaListModeDataMask &mask)
 
unsigned int DecodeWordThree (const unsigned int &word, XiaData &data, const XiaListModeDataMask &mask)
 
void DecodeTrace (unsigned int *buf, XiaData &data, const unsigned int &traceLength)
 

Detailed Description

Class to decode Xia List mode Data.

Definition at line 15 of file XiaListModeDataDecoder.hpp.

Constructor & Destructor Documentation

§ XiaListModeDataDecoder()

XiaListModeDataDecoder::XiaListModeDataDecoder ( )
inline

Default constructor.

Definition at line 18 of file XiaListModeDataDecoder.hpp.

§ ~XiaListModeDataDecoder()

XiaListModeDataDecoder::~XiaListModeDataDecoder ( )
inline

Default destructor.

Definition at line 21 of file XiaListModeDataDecoder.hpp.

Here is the call graph for this function:

Member Function Documentation

§ CalculateTimeInNs()

double XiaListModeDataDecoder::CalculateTimeInNs ( const XiaListModeDataMask mask,
const XiaData data 
)
static

Method to calculate the arrival time of the signal in nanoseconds

Parameters
[in]mask: The data mask containing the necessary information to calculate the time.
[in]data: The data that we will use to calculate the time
Returns
The calculated time in nanoseconds

Definition at line 272 of file XiaListModeDataDecoder.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

§ CalculateTimeInSamples()

double XiaListModeDataDecoder::CalculateTimeInSamples ( const XiaListModeDataMask mask,
const XiaData data 
)
static

Method to calculate the arrival time of the signal in samples

Parameters
[in]mask: The data mask containing the necessary information to calculate the time.
[in]data: The data that we will use to calculate the time
Returns
The calculated time in clock samples

Definition at line 245 of file XiaListModeDataDecoder.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

§ DecodeBuffer()

vector< XiaData * > XiaListModeDataDecoder::DecodeBuffer ( unsigned int *  buf,
const XiaListModeDataMask mask 
)

Main decoding method

Parameters
[in]buf: Pointer to the beginning of the data buffer.
[in]mask: The mask set that we need to decode the data
Returns
A vector containing all of the decoded XiaData events.

: These two pieces here are the Pixie Module Data Header. They tell us the number of words read from the module (bufLen) and the VSN of the module (module number).

Figure out where to put this...

This needs to be revised to take into account the bit resolution of the modules. I've currently set it to the maximum bit resolution of any module (16-bit).

Definition at line 18 of file XiaListModeDataDecoder.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

§ DecodeTrace()

void XiaListModeDataDecoder::DecodeTrace ( unsigned int *  buf,
XiaData data,
const unsigned int &  traceLength 
)
private

Method to decode word three from the header.

Parameters
[in]word: The word that we need to decode
[in]data: The XiaData object that we are going to fill.

Definition at line 232 of file XiaListModeDataDecoder.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

§ DecodeWordThree()

unsigned int XiaListModeDataDecoder::DecodeWordThree ( const unsigned int &  word,
XiaData data,
const XiaListModeDataMask mask 
)
private

Method to decode word three from the header.

Parameters
[in]word: The word that we need to decode
[in]data: The XiaData object that we are going to fill.
[in]mask: The data mask to decode the data
Returns
The trace length

Definition at line 208 of file XiaListModeDataDecoder.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

§ DecodeWordTwo()

void XiaListModeDataDecoder::DecodeWordTwo ( const unsigned int &  word,
XiaData data,
const XiaListModeDataMask mask 
)
private

Method to decode word two from the header.

Parameters
[in]word: The word that we need to decode
[in]data: The XiaData object that we are going to fill.
[in]mask: The data mask to decode the data

Definition at line 194 of file XiaListModeDataDecoder.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

§ DecodeWordZero()

std::pair< unsigned int, unsigned int > XiaListModeDataDecoder::DecodeWordZero ( const unsigned int &  word,
XiaData data,
const XiaListModeDataMask mask 
)
private

Method to decode word zero from the header.

Parameters
[in]word: The word that we need to decode
[in]data: The XiaData object that we are going to fill.
Returns
The pair of the header length and event length for use in subsequent processing.

Definition at line 163 of file XiaListModeDataDecoder.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following files: