11#ifndef EMCAL_PEDESTAL_PROCESSOR_DATA_H_
12#define EMCAL_PEDESTAL_PROCESSOR_DATA_H_
45 unsigned short mChannelIndex;
46 unsigned short mMaxChannels;
47 std::string mErrorMessage;
53 ChannelIndexException(
unsigned short channelIndex,
unsigned short maxChannels) :
std::exception(), mChannelIndex(channelIndex), mMaxChannels(maxChannels)
63 const
char*
what() const noexcept final {
return mErrorMessage.data(); }
98 void fillADC(
unsigned short adc,
unsigned short tower,
bool lowGain,
bool LEDMON);
144PedestalProcessorData
operator+(
const PedestalProcessorData& lhs,
const PedestalProcessorData& rhs);
150std::ostream&
operator<<(std::ostream&
stream,
const PedestalProcessorData::ChannelIndexException& ex);
General auxilliary methods.
Handling access to invalid channel index (out-of-bounds)
unsigned short getChannelIndex() const noexcept
Get channel index raising the exception.
~ChannelIndexException() noexcept final=default
Destructor.
const char * what() const noexcept final
Get error message of the exception.
ChannelIndexException(unsigned short channelIndex, unsigned short maxChannels)
Constructor.
unsigned short getMaxChannels() const noexcept
Get max number for channels for the type the exception was raised.
Exchange container between PedestalProcessorDevice and PedestalAggregatorDevice.
std::array< o2::math_utils::StatAccumulator, 480 > ProfileHistLEDMON
~PedestalProcessorData()=default
Destructor.
int getEntriesForChannel(unsigned short tower, bool lowGain, bool LEDMON) const
Get number of entries for a certain channel.
void reset()
Reset object.
PedestalProcessorData()=default
Constructor.
const ProfileHistFEC & accessFECData(bool lowGain) const
Provide access to accumulated data for FEC channels.
const ProfileHistLEDMON & accessLEDMONData(bool lowGain) const
Provide access to accumulated data for LEDMON channels.
void fillADC(unsigned short adc, unsigned short tower, bool lowGain, bool LEDMON)
Fill ADC value for certain channel.
PedestalValue getValue(unsigned short tower, bool lowGain, bool LEDMON) const
Get mean ADC and RMS for a certain channel.
std::array< o2::math_utils::StatAccumulator, 17664 > ProfileHistFEC
std::tuple< double, double > PedestalValue
PedestalProcessorData & operator+=(const PedestalProcessorData &other)
Accumulation operator.
Hit operator+(const Hit &lhs, const Hit &rhs)
Creates a new point base on this point but adding the energy loss of the right hand side.
std::ostream & operator<<(std::ostream &stream, const Cell &cell)
Stream operator for EMCAL cell.
@ LEDMON
LED monitor channel.
Defining DataPointCompositeObject explicitly as copiable.
std::string to_string(gsl::span< T, Size > span)
VectorOfTObjectPtrs other