10#ifndef CRIB_TMUXCALIBRATIONPROCESSOR_H
11#define CRIB_TMUXCALIBRATIONPROCESSOR_H
13#include <TProcessor.h>
62 void Init(TEventCollection *col)
override;
101 double CalibrateValue(
double raw,
int id,
const TClonesArray *converterArray)
const;
Handles the calibration of timing, charge, and position data in the MUX system.
~TMUXCalibrationProcessor() override
Destructor.
Bool_t fHasReflection
Indicates whether to apply reflection to the detector ID.
TClonesArray * fChargeConverterArray
! Pointer to the charge converter array.
TMUXCalibrationProcessor(const TMUXCalibrationProcessor &rhs)=delete
TClonesArray * fTimingConverterArray
! Pointer to the timing converter array.
double CalibrateValue(double raw, int id, const TClonesArray *converterArray) const
Calibrates a raw value (e.g., timing or charge) using the specified converter array.
Bool_t fInputIsDigital
Indicates whether the input data is digital.
TMUXCalibrationProcessor & operator=(const TMUXCalibrationProcessor &rhs)=delete
TMUXCalibrationProcessor()
Constructor.
TClonesArray * fOutData
! Pointer to the output data collection.
TString fPositionConverterArrayName
Name of the position converter array parameter.
ClassDefOverride(TMUXCalibrationProcessor, 2)
ROOT class definition macro.
TClonesArray ** fInData
! Pointer to the input data collection.
TString fChargeConverterArrayName
Name of the charge converter array parameter.
TString fTimingConverterArrayName
Name of the timing converter array parameter.
void Process() override
Processes the input data, applies calibration, and stores the results.
TString fInputColName
Name of the input collection.
double ConvertPosition(double pos, int id) const
Converts a raw position value to a detector ID using the position converter array.
TString fOutputColName
Name of the output collection.
void Init(TEventCollection *col) override
Initializes the processor by setting up input and output collections.
TClonesArray * fPositionConverterArray
! Pointer to the position converter array.