1 #ifndef NSL_SELECTIONS_TOF_CHARGEINRANGE_H
2 #define NSL_SELECTIONS_TOF_CHARGEINRANGE_H
13 ChargeInRange(
float min,
float max, NAIA::Tof::ChargeType type);
18 namespace tof_base = ::NSL::Selections::Tof;
25 std::pair<float, float> chargeLimits(
unsigned int charge) {
28 return {
static_cast<float>(charge) - 0.5f, static_cast<float>(charge) + 1.5f};
30 return {
static_cast<float>(charge) - 0.75f, std::numeric_limits<float>::max()};
32 return {
static_cast<float>(charge) - 0.625 - 0.0225 * (charge - 9),
static_cast<float>(charge) + 1.5f};
40 : tof_base::
ChargeInRange(chargeLimits(charge).first, chargeLimits(charge).second, type) {}
49 std::pair<float, float> chargeLimits(
unsigned int charge) {
52 return {
static_cast<float>(charge) - 0.5f, static_cast<float>(charge) + 1.5f};
54 return {
static_cast<float>(charge) - 0.75f, std::numeric_limits<float>::max()};
56 return {
static_cast<float>(charge) - 0.75f, static_cast<float>(charge) + 0.75f};
64 : tof_base::
ChargeInRange(chargeLimits(charge).first, chargeLimits(charge).second, type) {}
ChargeInRange(float min, float max, NAIA::Tof::ChargeType type)
ChargeInRange(unsigned int charge, NAIA::Tof::ChargeType type)
ChargeInRange(unsigned int charge, NAIA::Tof::ChargeType type)