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 with zeros put in for paraneters and an invalid channel. More... | |
RawDigit (Channel_t channel, ULong64_t samples, ADCvector_t const &adclist, gar::raw::Compress_t compress, ULong64_t time) | |
Constructor: sets all the fields. More... | |
RawDigit (Channel_t channel, ULong64_t samples, ADCvector_t &&adclist, gar::raw::Compress_t compress, ULong64_t time) | |
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... | |
Channel_t | Channel () const |
DAQ channel this raw data was read from. More... | |
gar::raw::Compress_t | Compression () const |
Compression algorithm selector. More... | |
ULong64_t | Samples () const |
Number of samples in the uncompressed ADC data. More... | |
float | Pedestal () const |
float | Sigma () const |
TODO: RMS of the pedestal level? More... | |
ULong64_t | Time () const |
Timestmap. More... | |
Private Attributes | |
std::vector< short > | fADC |
ADC readout per tick, before pedestal subtraction. More... | |
Channel_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... | |
gar::raw::Compress_t | fCompression |
compression scheme used for the ADC vector More... | |
ULong64_t | fTime |
timestamp 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).
Removed; may need to add this back later. 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 67 of file RawDigit.h.
typedef std::vector<short> gar::raw::RawDigit::ADCvector_t |
Type representing a (compressed) vector of ADC counts.
Definition at line 71 of file RawDigit.h.
gar::raw::RawDigit::RawDigit | ( | ) |
Default constructor: an empty raw digit with zeros put in for paraneters and an invalid channel.
Definition at line 20 of file RawDigit.cxx.
gar::raw::RawDigit::RawDigit | ( | Channel_t | channel, |
ULong64_t | samples, | ||
RawDigit::ADCvector_t const & | adclist, | ||
gar::raw::Compress_t | compress, | ||
ULong64_t | time | ||
) |
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.
gar::raw::RawDigit::RawDigit | ( | Channel_t | channel, |
ULong64_t | samples, | ||
RawDigit::ADCvector_t && | adclist, | ||
gar::raw::Compress_t | compress, | ||
ULong64_t | time | ||
) |
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 48 of file RawDigit.cxx.
|
inline |
ADC vector element number i; no decompression is applied.
Definition at line 188 of file RawDigit.h.
|
inline |
Reference to the compressed ADC count vector.
Definition at line 189 of file RawDigit.h.
|
inline |
DAQ channel this raw data was read from.
Definition at line 190 of file RawDigit.h.
|
inline |
Compression algorithm selector.
Definition at line 195 of file RawDigit.h.
|
inline |
Number of elements in the compressed ADC sample vector.
Definition at line 187 of file RawDigit.h.
|
inline |
Pedestal level (ADC counts)
Definition at line 192 of file RawDigit.h.
|
inline |
Number of samples in the uncompressed ADC data.
Definition at line 191 of file RawDigit.h.
void gar::raw::RawDigit::SetPedestal | ( | float | ped, |
float | sigma = 1. |
||
) |
Set pedestal and its RMS (the latter is 0 by default)
|
inline |
TODO: RMS of the pedestal level?
Definition at line 193 of file RawDigit.h.
|
inline |
|
private |
ADC readout per tick, before pedestal subtraction.
Definition at line 166 of file RawDigit.h.
|
private |
channel number in the readout
Definition at line 168 of file RawDigit.h.
|
private |
compression scheme used for the ADC vector
Definition at line 173 of file RawDigit.h.
|
private |
pedestal for this channel
Definition at line 171 of file RawDigit.h.
|
private |
number of ticks of the clock
Definition at line 169 of file RawDigit.h.
|
private |
sigma of the pedestal counts for this channel
Definition at line 172 of file RawDigit.h.
|
private |
timestamp
Definition at line 174 of file RawDigit.h.