18#ifndef EMCAL_CHANNEL_SCALE_FACTORS_H_
19#define EMCAL_CHANNEL_SCALE_FACTORS_H_
48 const
char*
what() const noexcept final {
return mMessage.c_str(); }
80 LOG(
debug) <<
"EMCALChannelScaleFactors::EnergyIntervals::IsInInterval: Checking if " << E <<
" is in the interval " << Elow <<
" - " << Ehigh;
81 if (E >= Elow && E < Ehigh) {
91 if (std::abs(Elow -
other.Elow) < FLT_EPSILON && std::abs(Ehigh -
other.Ehigh) < FLT_EPSILON) {
99 if (std::abs(Elow -
other.Elow) < FLT_EPSILON && std::abs(Ehigh -
other.Ehigh) < FLT_EPSILON) {
107 if (Elow <
other.Elow) {
115 if (Elow >
other.Elow) {
140 void insertVal(
unsigned int cellID,
float E_min,
float E_max,
float scale);
148 float getScaleVal(
unsigned int cellID,
float E)
const;
151 static constexpr int NCells = 17664;
152 std::array<std::map<EnergyIntervals, float>, NCells> ScaleFactors;
void insertVal(unsigned int cellID, float E_min, float E_max, float scale)
float getScaleVal(unsigned int cellID, float E) const
bool isInInterval(float E) const
~EnergyIntervals()=default
EnergyIntervals(float min, float max)
bool operator==(const EnergyIntervals &other) const
declare operator ==, !=, <, >
EnergyIntervals()=default
bool operator<(const EnergyIntervals &other) const
bool operator>(const EnergyIntervals &other) const
bool operator!=(const EnergyIntervals &other) const
void setEnergy(float min, float max)
InvalidEnergyIntervalException(float E, unsigned int cellID)
Constructor.
const char * what() const noexcept final
Access to error message.
~InvalidEnergyIntervalException() noexcept final=default
Destructor.
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Defining DataPointCompositeObject explicitly as copiable.
std::string to_string(gsl::span< T, Size > span)
VectorOfTObjectPtrs other
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"