1 #ifndef FLAGWORDDEFINITIONS_H
2 #define FLAGWORDDEFINITIONS_H
25 int const MULTIPLE_PULSE_CANDIDATE_BIT = 1;
26 int const ANOMALOUS_SHAPE_BIT = 1 << 1;
27 int const OVERFLOW_BIN_BIT = 1 << 2;
28 int const UNDERFLOW_BIN_BIT = 1 << 3;
29 int const WAS_SPLIT_BIT = 1 << 4;
30 int const PLATEAU_CUTOFF_BIT = 1 << 5;
32 inline void setMultiplePulseCandidate(
int& i)
34 i |= MULTIPLE_PULSE_CANDIDATE_BIT;
36 inline void setAnomalousShape(
int& j)
38 j |= ANOMALOUS_SHAPE_BIT;
40 inline void setOverflow(
int& k)
42 k |= OVERFLOW_BIN_BIT;
44 inline void setUnderflow(
int& m)
46 m |= UNDERFLOW_BIN_BIT;
48 inline void setSplit(
int& n)
52 inline void setPlateauCutoff(
int& l)
54 l |= PLATEAU_CUTOFF_BIT;
58 inline bool isMultiplePulseCandidate(
int i)
60 return i & MULTIPLE_PULSE_CANDIDATE_BIT;
62 inline bool isAnomalousShape(
int j)
64 return j & ANOMALOUS_SHAPE_BIT;
66 inline bool isOverflow(
int k)
68 return k & OVERFLOW_BIN_BIT;
70 inline bool isUnderflow(
int m)
72 return m & UNDERFLOW_BIN_BIT;
74 inline bool isSplit(
int n)
76 return n & WAS_SPLIT_BIT;
78 inline bool isPlateauCutoff(
int l)
80 return l & PLATEAU_CUTOFF_BIT;
89 int const CONTAINS_DEAD_CHANNEL_BIT = 1;
90 int const CONTAINS_NOISY_CHANNEL_BIT = 1 << 1;
91 int const HIT_AT_MODULE_BORDER_BIT = 1 << 2;
92 int const CONTAINS_OVERFLOW_PULSE_BIT = 1 << 3;
93 int const CONTAINS_SPLIT_PULSE_BIT = 1 << 4;
94 int const CONTAINS_ANOMALOUS_PULSE_BIT = 1 << 5;
95 int const HIT_NEXT_TO_DEAD_CHANNEL_BIT = 1 << 6;
96 int const MULTIPLE_HIT_CANDIDATE_BIT = 1 << 7;
97 int const REMOVE_FROM_TRACK_FINDING_BIT = 1 << 8;
98 int const CONTAINS_PLATEAU_CUTOFF_PULSE_BIT = 1 << 9;
100 inline void setDeadChannel(
int& i)
102 i |= CONTAINS_DEAD_CHANNEL_BIT;
104 inline void setNoisyChannel(
int& j)
106 j |= CONTAINS_NOISY_CHANNEL_BIT;
108 inline void setAtModuleBorder(
int& k)
110 k |= HIT_AT_MODULE_BORDER_BIT;
112 inline void setOverflowPulse(
int& m)
114 m |= CONTAINS_OVERFLOW_PULSE_BIT;
116 inline void setSplitPulse(
int& n)
118 n |= CONTAINS_SPLIT_PULSE_BIT;
120 inline void setAnomalousPulseShape(
int& p)
122 p |= CONTAINS_ANOMALOUS_PULSE_BIT;
124 inline void setNextToDeadChannel(
int& q)
126 q |= HIT_NEXT_TO_DEAD_CHANNEL_BIT;
128 inline void setMultipleHitCandidate(
int& r)
130 r |= MULTIPLE_HIT_CANDIDATE_BIT;
132 inline void setRemoveFromTrackFinding(
int& s)
134 s |= REMOVE_FROM_TRACK_FINDING_BIT;
136 inline void setPlateauCutoffPulse(
int& t)
138 t |= CONTAINS_PLATEAU_CUTOFF_PULSE_BIT;
141 inline bool hasDeadChannel(
int i)
143 return i & CONTAINS_DEAD_CHANNEL_BIT;
145 inline bool hasNoisyChannel(
int j)
147 return j & CONTAINS_NOISY_CHANNEL_BIT;
149 inline bool isAtModuleBorder(
int k)
151 return k & HIT_AT_MODULE_BORDER_BIT;
153 inline bool hasOverflowPulse(
int m)
155 return m & CONTAINS_OVERFLOW_PULSE_BIT;
157 inline bool hasSplitPulse(
int n)
159 return n & CONTAINS_SPLIT_PULSE_BIT;
161 inline bool hasAnomalousPulseShape(
int p)
163 return p & CONTAINS_ANOMALOUS_PULSE_BIT;
165 inline bool isNextToDeadChannel(
int q)
167 return q & HIT_NEXT_TO_DEAD_CHANNEL_BIT;
169 inline bool isMultipleHitCandidate(
int r)
171 return r & MULTIPLE_HIT_CANDIDATE_BIT;
173 inline bool isRemovedFromTrackFinding(
int s)
175 return s & REMOVE_FROM_TRACK_FINDING_BIT;
177 inline bool hasPlateauCutoffPulse(
int t)
179 return t & CONTAINS_PLATEAU_CUTOFF_PULSE_BIT;
186 int const HELIX_TRACKMODEL_BIT = 1 ;
187 int const STRAIGHT_LINE_TRACKMODEL_BIT = 1 << 1;
188 int const MULTIPLE_TRACK_CANDIDATE_BIT = 1 << 2;
189 int const BROKEN_LINE_FITTER_BIT = 1 << 7;
190 int const CHISQUARE_FITTER_BIT = 1 << 8;
191 int const KALMAN_FITTER_BIT = 1 << 9;
192 int const LIKELIHOOD_FITTER_BIT = 1 << 10;
194 inline void setHelixTrackModel(
int& i)
196 i |= HELIX_TRACKMODEL_BIT;
198 inline void setStraightLineTrackModel(
int& j)
200 j |= STRAIGHT_LINE_TRACKMODEL_BIT;
202 inline void setMultipleTrackCandidate(
int& j)
204 j |= MULTIPLE_TRACK_CANDIDATE_BIT;
206 inline void setBrokenLineFitter(
int& j)
208 j |= BROKEN_LINE_FITTER_BIT;
210 inline void setChiSquareFitter(
int& j)
212 j |= CHISQUARE_FITTER_BIT;
214 inline void setKalmanFitter(
int& j)
216 j |= KALMAN_FITTER_BIT;
218 inline void setLikelihoodFitter(
int& j)
220 j |= LIKELIHOOD_FITTER_BIT;
223 inline bool isHelixTrackModel(
int i)
225 return i & HELIX_TRACKMODEL_BIT;
227 inline bool isStraightLineTrackModel(
int j)
229 return j & STRAIGHT_LINE_TRACKMODEL_BIT;
231 inline bool isMultipleTrackCandidate(
int j)
233 return j & MULTIPLE_TRACK_CANDIDATE_BIT;
235 inline bool isBrokenLineFitter(
int j)
237 return j & BROKEN_LINE_FITTER_BIT;
239 inline bool isChiSquareFitter(
int j)
241 return j & CHISQUARE_FITTER_BIT;
243 inline bool isKalmanFitter(
int j)
245 return j & KALMAN_FITTER_BIT;
247 inline bool isLikelihoodFitter(
int j)
249 return j & LIKELIHOOD_FITTER_BIT;
255 #endif //FLAGWORDDEFINITIONS_H