12#ifndef EMCAL_PEDESTAL_PROCESSOR_DEVICE_H_
13#define EMCAL_PEDESTAL_PROCESSOR_DEVICE_H_
38 class ModuleIndexException :
public std::exception
43 enum class ModuleType_t {
54 ModuleIndexException(
int moduleIndex,
int column,
int row,
int columnshifted,
int rowshifted) : mModuleType(ModuleType_t::CELL_MODULE),
58 mColumnShifted(columnshifted),
59 mRowShifted(rowshifted) {}
63 ModuleIndexException(
int moduleIndex) : mModuleType(ModuleType_t::LEDMON_MODULE), mIndex(moduleIndex) {}
66 ~ModuleIndexException()
noexcept final =
default;
70 const char* what()
const noexcept final {
return "Invalid cell / LEDMON index"; }
74 ModuleType_t getModuleType()
const {
return mModuleType; }
78 int getIndex()
const {
return mIndex; }
86 int getRow()
const {
return mRow; }
90 int getColumnShifted()
const {
return mColumnShifted; }
94 int getRowShifted()
const {
return mRowShifted; }
97 ModuleType_t mModuleType;
101 int mColumnShifted = -1;
102 int mRowShifted = -1;
106 std::unique_ptr<MappingHandler> mMapper =
nullptr;
o2::mid::ColumnData & getColumn(std::vector< o2::mid::ColumnData > &patterns, uint8_t icolumn, uint8_t deId)
EMCAL geometry definition.
Exchange container between PedestalProcessorDevice and PedestalAggregatorDevice.
Processor part of the EMCAL pedestal calibration workflow.
int getCellAbsID(int supermoduleID, int column, int row) const
PedestalProcessorDevice()=default
bool isLostTimeframe(framework::ProcessingContext &ctx) const
void init(framework::InitContext &ctx) final
~PedestalProcessorDevice() final=default
void run(framework::ProcessingContext &ctx) final
int geLEDMONAbsID(int supermoduleID, int moduleID) const
void sendData(framework::ProcessingContext &ctx, const PedestalProcessorData &data) const
framework::DataProcessorSpec getPedestalProcessorDevice(bool askDistSTF)