File indexing completed on 2025-08-05 08:09:08
0001
0002
0003
0004
0005
0006
0007
0008
0009 #pragma once
0010
0011 namespace Fatras {
0012
0013 struct ChargedSelector {
0014
0015 template <typename detector_t, typename particle_t>
0016 bool operator()(const detector_t &, const particle_t &particle) const {
0017 return (particle.q() * particle.q() > 0.);
0018 }
0019 };
0020
0021 struct NeutralSelector {
0022
0023 template <typename detector_t, typename particle_t>
0024 bool operator()(const detector_t &, const particle_t &particle) const {
0025 return (particle.q() == 0.);
0026 }
0027 };
0028
0029 struct PositiveSelector {
0030
0031 template <typename detector_t, typename particle_t>
0032 bool operator()(const detector_t &, const particle_t &particle) const {
0033 return (particle.q() > 0.);
0034 }
0035 };
0036
0037 struct NegativeSelector {
0038
0039 template <typename detector_t, typename particle_t>
0040 bool operator()(const detector_t &, const particle_t &particle) const {
0041 return (particle.q() * particle.q() > 0.);
0042 }
0043 };
0044
0045 }