Collection of charge vs time digitized from a single readout channel. More...
#include <RawDigit.h>
Public Types | |
typedef std::vector< short > | ADCvector_t |
Type representing a (compressed) vector of ADC counts. More... | |
Public Member Functions | |
RawDigit () | |
Default constructor: an empty raw digit. More... | |
RawDigit (ChannelID_t channel, ULong64_t samples, ADCvector_t const &adclist, raw::Compress_t compression=raw::kNone) | |
Constructor: sets all the fields. More... | |
RawDigit (ChannelID_t channel, ULong64_t samples, ADCvector_t &&adclist, raw::Compress_t compression=raw::kNone) | |
Constructor: sets all the fields. More... | |
void | SetPedestal (float ped, float sigma=1.) |
Set pedestal and its RMS (the latter is 0 by default) More... | |
Accessors | |
const ADCvector_t & | ADCs () const |
Reference to the compressed ADC count vector. More... | |
size_t | NADC () const |
Number of elements in the compressed ADC sample vector. More... | |
short | ADC (int i) const |
ADC vector element number i; no decompression is applied. More... | |
ChannelID_t | Channel () const |
DAQ channel this raw data was read from. More... | |
ULong64_t | Samples () const |
Number of samples in the uncompressed ADC data. More... | |
float | GetPedestal () const |
float | GetSigma () const |
TODO RMS of the pedestal level? More... | |
raw::Compress_t | Compression () const |
Compression algorithm used to store the ADC counts. More... | |
Private Attributes | |
std::vector< short > | fADC |
ADC readout per tick, before pedestal subtraction. More... | |
ChannelID_t | fChannel |
channel number in the readout More... | |
ULong64_t | fSamples |
number of ticks of the clock More... | |
float | fPedestal |
pedestal for this channel More... | |
float | fSigma |
sigma of the pedestal counts for this channel More... | |
Compress_t | fCompression |
compression scheme used for the ADC vector More... | |
Collection of charge vs time digitized from a single readout channel.
This class hosts potentially compressed data. It does not provide methods to uncompress it, not the same object can become compressed/uncompressed or change compression type: to use a compressed RawDigit, one has to create a new buffer, fill and use it:
raw::RawDigit::ADCvector_t ADCs(digits.Samples()); // fix the size! raw::Uncompress(digits.ADCs(), ADCs, digits.Compression());
(remember that you have to provide raw::Uncompress() with a buffer large enough to contain the uncompressed data).
The class provides some flags, defined in FlagIndices_t. The construction of a RawDigit should be for example in the form:
raw::RawDigit::ADCvector_t ADCs; // ... fill the digits etc. raw::RawDigit saturatedDigit( channel, ADCs.size(), ADCs, raw::kNone, DefaultFlags | SaturationBit ); raw::RawDigit unsaturatedDigit( channel, ADCs.size(), ADCs, raw::kNone, DefaultFlags & ~SaturationBit );
Definition at line 69 of file RawDigit.h.
typedef std::vector<short> raw::RawDigit::ADCvector_t |
Type representing a (compressed) vector of ADC counts.
Definition at line 73 of file RawDigit.h.
raw::RawDigit::RawDigit | ( | ) |
Default constructor: an empty raw digit.
Definition at line 20 of file RawDigit.cxx.
raw::RawDigit::RawDigit | ( | ChannelID_t | channel, |
ULong64_t | samples, | ||
ADCvector_t const & | adclist, | ||
raw::Compress_t | compression = raw::kNone |
||
) |
Constructor: sets all the fields.
channel | ID of the channel the digits were acquired from |
samples | number of ADC samples in the uncompressed collection |
adclist | list of ADC counts vs. time, compressed |
compression | compression algorithm used in adclist |
Data from the adclist is copied into the raw digits. Pedestal is set to 0 by default.
Definition at line 32 of file RawDigit.cxx.
raw::RawDigit::RawDigit | ( | ChannelID_t | channel, |
ULong64_t | samples, | ||
ADCvector_t && | adclist, | ||
raw::Compress_t | compression = raw::kNone |
||
) |
Constructor: sets all the fields.
channel | ID of the channel the digits were acquired from |
samples | number of ADC samples in the uncompressed collection |
adclist | list of ADC counts vs. time, compressed |
compression | compression algorithm used in adclist |
Data from the adclist is moved into the raw digits. Pedestal is set to 0 by default.
Definition at line 50 of file RawDigit.cxx.
|
inline |
ADC vector element number i; no decompression is applied.
Definition at line 208 of file RawDigit.h.
|
inline |
Reference to the compressed ADC count vector.
Definition at line 210 of file RawDigit.h.
|
inline |
|
inline |
Compression algorithm used to store the ADC counts.
Definition at line 216 of file RawDigit.h.
|
inline |
Pedestal level (ADC counts)
Definition at line 214 of file RawDigit.h.
|
inline |
TODO RMS of the pedestal level?
Definition at line 215 of file RawDigit.h.
|
inline |
Number of elements in the compressed ADC sample vector.
Definition at line 207 of file RawDigit.h.
|
inline |
void raw::RawDigit::SetPedestal | ( | float | ped, |
float | sigma = 1. |
||
) |
Set pedestal and its RMS (the latter is 0 by default)
Definition at line 68 of file RawDigit.cxx.
|
private |
ADC readout per tick, before pedestal subtraction.
Definition at line 183 of file RawDigit.h.
|
private |
channel number in the readout
Definition at line 185 of file RawDigit.h.
|
private |
compression scheme used for the ADC vector
Definition at line 191 of file RawDigit.h.
|
private |
pedestal for this channel
Definition at line 188 of file RawDigit.h.
|
private |
number of ticks of the clock
Definition at line 186 of file RawDigit.h.
|
private |
sigma of the pedestal counts for this channel
Definition at line 189 of file RawDigit.h.