PAASS
Software suite to Acquire and Analyze Data from Pixie16
|
A pixie16 channel event. More...
#include <XiaData.hpp>
Public Member Functions | |
XiaData () | |
Default constructor. More... | |
~XiaData () | |
Default Destructor. More... | |
bool | operator== (const XiaData &rhs) const |
Equality operator that compares checks if we have the same channel (i.e. the ID and Time are identical) More... | |
bool | operator!= (const XiaData &rhs) const |
The conjugate of the equality operator. More... | |
bool | operator< (const XiaData &rhs) const |
The less than operator that compares if the time of the current class is less than the time of the comparison class. More... | |
bool | operator> (const XiaData &rhs) const |
The conjugate of the less than operator. More... | |
bool | GetCfdForcedTriggerBit () const |
bool | GetCfdTriggerSourceBit () const |
bool | IsPileup () const |
bool | IsSaturated () const |
bool | IsVirtualChannel () const |
double | GetBaseline () const |
double | GetEnergy () const |
double | GetTime () const |
Method that will return the time for the channel. The actual time is a 48-bit number. We multiply 2^32 by the eventTimeHigh_ so that we account for the missing upper 16 bits of the number. The cfdTime_ contains all of the fractional time information, and so we divide by 2^16 here. Verify that this method works properly for all of the different module types and firmwares. It doesn't and this value simply needs to be set explicitly by the Decoder. More... | |
unsigned int | GetCfdFractionalTime () const |
unsigned int | GetChannelNumber () const |
unsigned int | GetCrateNumber () const |
unsigned int | GetEventTimeHigh () const |
unsigned int | GetEventTimeLow () const |
unsigned int | GetExternalTimeHigh () const |
unsigned int | GetExternalTimeLow () const |
unsigned int | GetId () const |
unsigned int | GetModuleNumber () const |
unsigned int | GetSlotNumber () const |
std::vector< unsigned int > | GetEnergySums () const |
std::vector< unsigned int > | GetQdc () const |
std::vector< unsigned int > | GetTrace () const |
void | SetBaseline (const double &a) |
Sets the baseline recorded on the module if the energy sums were recorded in the data stream. More... | |
void | SetCfdForcedTriggerBit (const bool &a) |
This value is set to true if the CFD was forced to trigger. More... | |
void | SetCfdFractionalTime (const unsigned int &a) |
Sets the CFD fractional time calculated on-board. More... | |
void | SetCfdTriggerSourceBit (const bool &a) |
Sets the CFD trigger source. More... | |
void | SetChannelNumber (const unsigned int &a) |
Sets the channel number. More... | |
void | SetCrateNumber (const unsigned int &a) |
Sets the crate number. More... | |
void | SetEnergy (const double &a) |
Sets the energy calculated on-board. More... | |
void | SetEnergySums (const std::vector< unsigned int > &a) |
Sets the energy sums calculated on-board. More... | |
void | SetEventTimeHigh (const unsigned int &a) |
Sets the upper 16 bits of the event time. More... | |
void | SetEventTimeLow (const unsigned int &a) |
Sets the lower 32 bits of the event time. More... | |
void | SetExternalTimeHigh (const unsigned int &a) |
Sets the upper 16 bits of the external event time. More... | |
void | SetExternalTimeLow (const unsigned int &a) |
Sets the lower 32 bits of the external event time. More... | |
void | SetPileup (const bool &a) |
Sets if we had a pileup found on-board. More... | |
void | SetQdc (const std::vector< unsigned int > &a) |
Sets the QDCs that were calculated on-board. More... | |
void | SetSaturation (const bool &a) |
Sets the saturation flag. More... | |
void | SetSlotNumber (const unsigned int &a) |
Sets the slot number. More... | |
void | SetTime (const double &a) |
Sets the calculated arrival time of the signal. More... | |
void | SetTrace (const std::vector< unsigned int > &a) |
Sets the trace recorded on board. More... | |
void | SetVirtualChannel (const bool &a) |
Sets the flag for channels generated on-board. More... | |
void | Clear () |
Clear all variables and set them to some default values. More... | |
Static Public Member Functions | |
static bool | CompareTime (const XiaData *lhs, const XiaData *rhs) |
A method that will compare the times of two XiaData classes this method can be used in conjunction with sorting methods. More... | |
static bool | CompareId (const XiaData *lhs, const XiaData *rhs) |
A method that will compare the unique ID of two XiaData classes. More... | |
Private Attributes | |
bool | cfdForceTrig_ |
bool | cfdTrigSource_ |
CFD was forced to trigger. More... | |
bool | isPileup_ |
The ADC that the CFD/FPGA synched with. More... | |
bool | isSaturated_ |
Pile-up flag from Pixie. More... | |
bool | isVirtualChannel_ |
Saturation flag from Pixie. More... | |
double | energy_ |
Flagged if generated virtually in Pixie DSP. More... | |
double | baseline_ |
Raw pixie energy. More... | |
double | time_ |
Baseline that was recorded with the energy sums. More... | |
unsigned int | cfdTime_ |
unsigned int | chanNum_ |
CFD trigger time. More... | |
unsigned int | crateNum_ |
Channel number. More... | |
unsigned int | eventTimeHigh_ |
The Crate number for the channel. More... | |
unsigned int | eventTimeLow_ |
Upper 16 bits of pixie16 event time. More... | |
unsigned int | externalTimeHigh_ |
Lower 32 bits of pixie16 event time. More... | |
unsigned int | externalTimeLow_ |
Upper 16 bits of external time stamp. More... | |
unsigned int | slotNum_ |
Lower 32 bits of external time stamp. More... | |
std::vector< unsigned int > | eSums_ |
Slot number. More... | |
std::vector< unsigned int > | qdc_ |
Energy sums recorded by the module. More... | |
std::vector< unsigned int > | trace_ |
QDCs recorded by the module. More... | |
A pixie16 channel event.
All data is grouped together into channels. For each pixie16 channel that fires the energy, time (both trigger time and event time), and trace (if applicable) are obtained. Additional information includes the channels identifier, calibrated energies, trace analysis information. Note that this currently stores raw values internally through pixie word types but returns data values through native C types. This is potentially non-portable.
Definition at line 19 of file XiaData.hpp.
|
inline |
Default constructor.
Definition at line 22 of file XiaData.hpp.
|
inline |
Default Destructor.
Definition at line 25 of file XiaData.hpp.
void XiaData::Clear | ( | ) |
Clear all variables and set them to some default values.
Clears all of the variables. The vectors are all cleared using the clear() method. This method is called when the class is first initalizied so that it has some default values for the software to use in the event that they are needed.
Definition at line 11 of file XiaData.cpp.
A method that will compare the unique ID of two XiaData classes.
[in] | lhs | : A pointer to the left hand side of the comparison |
[in] | rhs | : A pointer to the right hand side of the comparison |
Definition at line 73 of file XiaData.hpp.
A method that will compare the times of two XiaData classes this method can be used in conjunction with sorting methods.
[in] | lhs | : A pointer to the left hand side of the comparison |
[in] | rhs | : A pointer to the right hand side of the comparison |
Definition at line 64 of file XiaData.hpp.
|
inline |
Definition at line 93 of file XiaData.hpp.
|
inline |
Definition at line 78 of file XiaData.hpp.
|
inline |
Definition at line 110 of file XiaData.hpp.
|
inline |
Definition at line 81 of file XiaData.hpp.
|
inline |
Definition at line 113 of file XiaData.hpp.
|
inline |
Definition at line 116 of file XiaData.hpp.
|
inline |
Definition at line 96 of file XiaData.hpp.
|
inline |
Definition at line 149 of file XiaData.hpp.
|
inline |
Definition at line 119 of file XiaData.hpp.
|
inline |
Definition at line 122 of file XiaData.hpp.
|
inline |
Definition at line 126 of file XiaData.hpp.
|
inline |
Definition at line 130 of file XiaData.hpp.
|
inline |
Definition at line 136 of file XiaData.hpp.
|
inline |
Definition at line 141 of file XiaData.hpp.
|
inline |
Definition at line 152 of file XiaData.hpp.
|
inline |
Definition at line 146 of file XiaData.hpp.
|
inline |
Method that will return the time for the channel. The actual time is a 48-bit number. We multiply 2^32 by the eventTimeHigh_ so that we account for the missing upper 16 bits of the number. The cfdTime_ contains all of the fractional time information, and so we divide by 2^16 here. Verify that this method works properly for all of the different module types and firmwares. It doesn't and this value simply needs to be set explicitly by the Decoder.
Definition at line 107 of file XiaData.hpp.
|
inline |
Definition at line 155 of file XiaData.hpp.
|
inline |
Definition at line 84 of file XiaData.hpp.
|
inline |
Definition at line 87 of file XiaData.hpp.
|
inline |
Definition at line 90 of file XiaData.hpp.
|
inline |
The conjugate of the equality operator.
[in] | rhs | : The right hand side for the comparison |
Definition at line 38 of file XiaData.hpp.
|
inline |
The less than operator that compares if the time of the current class is less than the time of the comparison class.
[in] | rhs | : The right hand side for the comparison |
Definition at line 46 of file XiaData.hpp.
|
inline |
Equality operator that compares checks if we have the same channel (i.e. the ID and Time are identical)
[in] | rhs | : The right hand side of the comparison |
Definition at line 31 of file XiaData.hpp.
|
inline |
The conjugate of the less than operator.
[in] | rhs | : The right hand side for the comparison |
Definition at line 54 of file XiaData.hpp.
|
inline |
Sets the baseline recorded on the module if the energy sums were recorded in the data stream.
[in] | a | : The value to set |
Definition at line 160 of file XiaData.hpp.
|
inline |
This value is set to true if the CFD was forced to trigger.
[in] | a | : The value to set |
Definition at line 164 of file XiaData.hpp.
|
inline |
Sets the CFD fractional time calculated on-board.
[in] | a | : The value to set |
Definition at line 168 of file XiaData.hpp.
|
inline |
Sets the CFD trigger source.
[in] | a | : The value to set |
Definition at line 172 of file XiaData.hpp.
|
inline |
Sets the channel number.
[in] | a | : The value to set |
Definition at line 176 of file XiaData.hpp.
|
inline |
Sets the crate number.
[in] | a | : The value to set |
Definition at line 180 of file XiaData.hpp.
|
inline |
Sets the energy calculated on-board.
[in] | a | : The value to set |
Definition at line 184 of file XiaData.hpp.
|
inline |
Sets the energy sums calculated on-board.
[in] | a | : The value to set |
Definition at line 188 of file XiaData.hpp.
|
inline |
Sets the upper 16 bits of the event time.
[in] | a | : The value to set |
Definition at line 192 of file XiaData.hpp.
|
inline |
Sets the lower 32 bits of the event time.
[in] | a | : The value to set |
Definition at line 196 of file XiaData.hpp.
|
inline |
Sets the upper 16 bits of the external event time.
[in] | a | : The value to set |
Definition at line 200 of file XiaData.hpp.
|
inline |
Sets the lower 32 bits of the external event time.
[in] | a | : The value to set |
Definition at line 204 of file XiaData.hpp.
|
inline |
Sets if we had a pileup found on-board.
[in] | a | : The value to set |
Definition at line 208 of file XiaData.hpp.
|
inline |
Sets the QDCs that were calculated on-board.
[in] | a | : The value to set |
Definition at line 212 of file XiaData.hpp.
|
inline |
Sets the saturation flag.
[in] | a | : True if we found a saturation on board |
Definition at line 216 of file XiaData.hpp.
|
inline |
Sets the slot number.
[in] | a | : The value to set |
Definition at line 220 of file XiaData.hpp.
|
inline |
Sets the calculated arrival time of the signal.
[in] | a | : The value to set |
Definition at line 224 of file XiaData.hpp.
|
inline |
Sets the trace recorded on board.
[in] | a | : The value to set |
Definition at line 228 of file XiaData.hpp.
|
inline |
Sets the flag for channels generated on-board.
[in] | a | : True if we this channel was generated on-board |
Definition at line 232 of file XiaData.hpp.
|
private |
Raw pixie energy.
Definition at line 245 of file XiaData.hpp.
|
private |
Definition at line 238 of file XiaData.hpp.
|
private |
Definition at line 248 of file XiaData.hpp.
|
private |
CFD was forced to trigger.
Definition at line 239 of file XiaData.hpp.
|
private |
CFD trigger time.
Definition at line 249 of file XiaData.hpp.
|
private |
Channel number.
Definition at line 250 of file XiaData.hpp.
|
private |
Flagged if generated virtually in Pixie DSP.
Definition at line 244 of file XiaData.hpp.
|
private |
Slot number.
Definition at line 257 of file XiaData.hpp.
|
private |
The Crate number for the channel.
Definition at line 251 of file XiaData.hpp.
|
private |
Upper 16 bits of pixie16 event time.
Definition at line 252 of file XiaData.hpp.
|
private |
Lower 32 bits of pixie16 event time.
Definition at line 253 of file XiaData.hpp.
|
private |
Upper 16 bits of external time stamp.
Definition at line 254 of file XiaData.hpp.
|
private |
The ADC that the CFD/FPGA synched with.
Definition at line 240 of file XiaData.hpp.
|
private |
Pile-up flag from Pixie.
Definition at line 241 of file XiaData.hpp.
|
private |
Saturation flag from Pixie.
Definition at line 242 of file XiaData.hpp.
|
private |
Energy sums recorded by the module.
Definition at line 258 of file XiaData.hpp.
|
private |
Lower 32 bits of external time stamp.
Definition at line 255 of file XiaData.hpp.
|
private |
Baseline that was recorded with the energy sums.
Definition at line 246 of file XiaData.hpp.
|
private |
QDCs recorded by the module.
Definition at line 259 of file XiaData.hpp.