17 #ifndef Calibration_H_ 18 #define Calibration_H_ 83 Calibration(
const std::string& name,
const std::string& confile =
"calibration.xml",
size_t reserv = 50 );
102 long getValue(
const long raw,
bool crop_raw =
false );
133 long getRawValue(
const long cal,
bool range =
false )
const;
162 void build(
const std::string& name,
const std::string& confile, xmlNode* node = 0 );
167 inline long tRound(
const TypeOfValue& val )
const 172 void setCacheSize(
size_t sz );
174 inline size_t getCacheSize()
const 179 void setCacheResortCycle(
size_t n );
180 inline size_t getCacheResotrCycle()
const noexcept
182 return numCacheResort;
186 friend std::ostream& operator<<(std::ostream& os,
Calibration& c );
187 friend std::ostream& operator<<(std::ostream& os,
Calibration* c );
193 Point(): x(outOfRange), y(outOfRange) {}
195 Point( TypeOfValue _x, TypeOfValue _y ):
201 inline bool operator < (
const Point& p )
const 216 bool check(
const Point& p )
const noexcept;
219 bool checkX(
const TypeOfValue& x )
const noexcept;
222 bool checkY(
const TypeOfValue& y )
const noexcept;
225 TypeOfValue getY(
const TypeOfValue& x )
const noexcept;
226 TypeOfValue getX(
const TypeOfValue& y )
const noexcept;
228 TypeOfValue calcY(
const TypeOfValue& x )
const noexcept;
229 TypeOfValue calcX(
const TypeOfValue& y )
const noexcept;
231 inline bool operator < (
const Part& p )
const noexcept
236 inline Point leftPoint()
const noexcept
240 inline Point rightPoint()
const noexcept
244 inline TypeOfValue
getK() const noexcept
248 inline TypeOfValue left_x()
const noexcept
252 inline TypeOfValue left_y()
const noexcept
256 inline TypeOfValue right_x()
const noexcept
260 inline TypeOfValue right_y()
const noexcept
272 typedef std::vector<Part> PartsVec;
274 inline std::string getName()
281 long minRaw, maxRaw, minVal, maxVal, rightVal, leftVal, rightRaw, leftRaw;
283 void insertToCache(
const long raw,
const long val );
293 CacheInfo() noexcept: val(0), raw(outOfRange), cnt(0) {}
294 CacheInfo(
const long r,
const long v ) noexcept: val(v), raw(r), cnt(0) {}
302 inline bool operator<(
const CacheInfo& r )
const noexcept
304 if( r.raw == outOfRange )
308 if( raw == outOfRange )
315 typedef std::deque<CacheInfo> ValueCache;
317 size_t numCacheResort;
318 size_t numCallToCache;
323 #endif // Calibration_H_ static const long outOfRange
Definition: Calibration.h:94
Definition: CallbackTimer.h:29
long getLeftRaw() const noexcept
Definition: Calibration.h:147
Point p_right
Definition: Calibration.h:267
float TypeOfValue
Definition: Calibration.h:88
Definition: Calibration.h:191
long getMaxRaw() const noexcept
Definition: Calibration.h:141
long getLeftValue() const noexcept
Definition: Calibration.h:116
Point p_left
Definition: Calibration.h:266
Definition: Calibration.h:79
long getMinRaw() const noexcept
Definition: Calibration.h:136
static const TypeOfValue ValueOutOfRange
Definition: Calibration.h:91
TypeOfValue k
Definition: Calibration.h:268
long getRawValue(const long cal, bool range=false) const
Definition: Calibration.cc:349
long getMaxValue() const noexcept
Definition: Calibration.h:110
long getValue(const long raw, bool crop_raw=false)
Definition: Calibration.cc:273
void build(const std::string &name, const std::string &confile, xmlNode *node=0)
Definition: Calibration.cc:163
Definition: Calibration.h:208
TypeOfValue getK() const noexcept
Definition: Calibration.h:244
long getMinValue() const noexcept
Definition: Calibration.h:105
long getRightRaw() const noexcept
Definition: Calibration.h:152
long tRound(const TypeOfValue &val) const
Definition: Calibration.h:167
long getRightValue() const noexcept
Definition: Calibration.h:121