LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
raw::RawDigit Class Reference

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, unsigned short samples, ADCvector_t const &adclist, raw::Compress_t compression=raw::kNone)
 Constructor: sets all the fields. More...
 
 RawDigit (ChannelID_t channel, unsigned short 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_tADCs () 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...
 
unsigned short 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...
 
unsigned short 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...
 

Detailed Description

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 68 of file RawDigit.h.

Member Typedef Documentation

typedef std::vector<short> raw::RawDigit::ADCvector_t

Type representing a (compressed) vector of ADC counts.

Definition at line 72 of file RawDigit.h.

Constructor & Destructor Documentation

raw::RawDigit::RawDigit ( )

Default constructor: an empty raw digit.

Definition at line 20 of file RawDigit.cxx.

21  : fADC(0)
23  , fSamples(0)
24  , fPedestal(0.)
25  , fSigma(0.)
27  // , fFlags(DefaultFlags)
28  {}
std::vector< short > fADC
ADC readout per tick, before pedestal subtraction.
Definition: RawDigit.h:182
float fSigma
sigma of the pedestal counts for this channel
Definition: RawDigit.h:188
no compression
Definition: RawTypes.h:9
constexpr ChannelID_t InvalidChannelID
ID of an invalid channel.
Definition: RawTypes.h:31
Compress_t fCompression
compression scheme used for the ADC vector
Definition: RawDigit.h:190
float fPedestal
pedestal for this channel
Definition: RawDigit.h:187
ChannelID_t fChannel
channel number in the readout
Definition: RawDigit.h:184
unsigned short fSamples
number of ticks of the clock
Definition: RawDigit.h:185
raw::RawDigit::RawDigit ( ChannelID_t  channel,
unsigned short  samples,
ADCvector_t const &  adclist,
raw::Compress_t  compression = raw::kNone 
)

Constructor: sets all the fields.

Parameters
channelID of the channel the digits were acquired from
samplesnumber of ADC samples in the uncompressed collection
adclistlist of ADC counts vs. time, compressed
compressioncompression 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.

39  : fADC(adclist)
40  , fChannel(channel)
41  , fSamples(samples)
42  , fPedestal(0.)
43  , fSigma(0.)
44  , fCompression(compression)
45  // , fFlags(flags)
46  {}
std::vector< short > fADC
ADC readout per tick, before pedestal subtraction.
Definition: RawDigit.h:182
float fSigma
sigma of the pedestal counts for this channel
Definition: RawDigit.h:188
Compress_t fCompression
compression scheme used for the ADC vector
Definition: RawDigit.h:190
float fPedestal
pedestal for this channel
Definition: RawDigit.h:187
ChannelID_t fChannel
channel number in the readout
Definition: RawDigit.h:184
unsigned short fSamples
number of ticks of the clock
Definition: RawDigit.h:185
raw::RawDigit::RawDigit ( ChannelID_t  channel,
unsigned short  samples,
ADCvector_t &&  adclist,
raw::Compress_t  compression = raw::kNone 
)

Constructor: sets all the fields.

Parameters
channelID of the channel the digits were acquired from
samplesnumber of ADC samples in the uncompressed collection
adclistlist of ADC counts vs. time, compressed
compressioncompression 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.

57  : fADC(std::move(adclist))
58  , fChannel(channel)
59  , fSamples(samples)
60  , fPedestal(0.)
61  , fSigma(0.)
62  , fCompression(compression)
63  // , fFlags(flags)
64  {}
std::vector< short > fADC
ADC readout per tick, before pedestal subtraction.
Definition: RawDigit.h:182
float fSigma
sigma of the pedestal counts for this channel
Definition: RawDigit.h:188
Compress_t fCompression
compression scheme used for the ADC vector
Definition: RawDigit.h:190
float fPedestal
pedestal for this channel
Definition: RawDigit.h:187
ChannelID_t fChannel
channel number in the readout
Definition: RawDigit.h:184
unsigned short fSamples
number of ticks of the clock
Definition: RawDigit.h:185

Member Function Documentation

short raw::RawDigit::ADC ( int  i) const
inline

ADC vector element number i; no decompression is applied.

Definition at line 207 of file RawDigit.h.

References fADC.

207 { return fADC.at(i); }
std::vector< short > fADC
ADC readout per tick, before pedestal subtraction.
Definition: RawDigit.h:182
const raw::RawDigit::ADCvector_t & raw::RawDigit::ADCs ( ) const
inline

Reference to the compressed ADC count vector.

Definition at line 209 of file RawDigit.h.

References fADC.

Referenced by detsim::DumpRawDigits::PrintRawDigit(), caldata::CalWire::produce(), caldata::CalWireT962::produce(), hit::RawHitFinder::produce(), and raw::RecompressRawDigits::recompress().

209 { return fADC; }
std::vector< short > fADC
ADC readout per tick, before pedestal subtraction.
Definition: RawDigit.h:182
raw::Compress_t raw::RawDigit::Compression ( ) const
inline

Compression algorithm used to store the ADC counts.

Definition at line 215 of file RawDigit.h.

References fCompression.

Referenced by detsim::DumpRawDigits::PrintRawDigit(), caldata::CalWire::produce(), caldata::CalWireT962::produce(), hit::RawHitFinder::produce(), and raw::RecompressRawDigits::recompress().

215 { return fCompression; }
Compress_t fCompression
compression scheme used for the ADC vector
Definition: RawDigit.h:190
float raw::RawDigit::GetPedestal ( ) const
inline

Pedestal level (ADC counts)

Deprecated:
Might be removed soon

Definition at line 213 of file RawDigit.h.

References fPedestal.

Referenced by caldata::CalWire::produce(), caldata::CalWireT962::produce(), and hit::RawHitFinder::produce().

213 { return fPedestal; }
float fPedestal
pedestal for this channel
Definition: RawDigit.h:187
float raw::RawDigit::GetSigma ( ) const
inline

TODO RMS of the pedestal level?

Definition at line 214 of file RawDigit.h.

References fSigma.

214 { return fSigma; }
float fSigma
sigma of the pedestal counts for this channel
Definition: RawDigit.h:188
size_t raw::RawDigit::NADC ( ) const
inline

Number of elements in the compressed ADC sample vector.

Definition at line 206 of file RawDigit.h.

References fADC.

Referenced by detsim::DumpRawDigits::PrintRawDigit().

206 { return fADC.size(); }
std::vector< short > fADC
ADC readout per tick, before pedestal subtraction.
Definition: RawDigit.h:182
unsigned short raw::RawDigit::Samples ( ) const
inline

Number of samples in the uncompressed ADC data.

Definition at line 212 of file RawDigit.h.

References fSamples.

Referenced by detsim::DumpRawDigits::PrintRawDigit(), caldata::CalWire::produce(), caldata::CalWireT962::produce(), hit::RawHitFinder::produce(), raw::RecompressRawDigits::recompress(), evd::details::RawDigitCacheDataClass::Refill(), and recob::WireCreator::WireCreator().

212 { return fSamples; }
unsigned short fSamples
number of ticks of the clock
Definition: RawDigit.h:185
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.

References fPedestal, and fSigma.

69  {
70 
71  fPedestal = ped;
72  fSigma = sigma;
73 
74  } // RawDigit::SetPedestal()
float fSigma
sigma of the pedestal counts for this channel
Definition: RawDigit.h:188
float fPedestal
pedestal for this channel
Definition: RawDigit.h:187

Member Data Documentation

std::vector<short> raw::RawDigit::fADC
private

ADC readout per tick, before pedestal subtraction.

Definition at line 182 of file RawDigit.h.

Referenced by ADC(), ADCs(), and NADC().

ChannelID_t raw::RawDigit::fChannel
private

channel number in the readout

Definition at line 184 of file RawDigit.h.

Referenced by Channel().

Compress_t raw::RawDigit::fCompression
private

compression scheme used for the ADC vector

Definition at line 190 of file RawDigit.h.

Referenced by Compression().

float raw::RawDigit::fPedestal
private

pedestal for this channel

Definition at line 187 of file RawDigit.h.

Referenced by GetPedestal(), and SetPedestal().

unsigned short raw::RawDigit::fSamples
private

number of ticks of the clock

Definition at line 185 of file RawDigit.h.

Referenced by Samples().

float raw::RawDigit::fSigma
private

sigma of the pedestal counts for this channel

Definition at line 188 of file RawDigit.h.

Referenced by GetSigma(), and SetPedestal().


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