gramods
Loading...
Searching...
No Matches
AnalogsMapper.hh
1
2#ifndef GRAMODS_TRACK_ANALOGSMAPPER
3#define GRAMODS_TRACK_ANALOGSMAPPER
4
5#include <gmTrack/AnalogsTracker.hh>
6
7#include <gmCore/io_size.hh>
8
9#include <gmCore/OFactory.hh>
10
11BEGIN_NAMESPACE_GMTRACK;
12
20 : public AnalogsTracker {
21
22public:
23
30 struct AnalogIndex {
31 static const size_t VERTICAL = 0;
32 static const size_t HORIZONTAL = 1;
33 static const size_t TRIGGER = 2;
34 static const size_t COUNT = 3;
35 };
36
42 void setAnalogsTracker(std::shared_ptr<AnalogsTracker> bt);
43
50 void addMapping(gmCore::size2 m);
51
58 void setVerticalAnalog(int idx);
59
66 void setHorizontalAnalog(int idx);
67
74 void setTriggerAnalog(int idx);
75
81 bool getAnalogs(AnalogsSample &p) override;
82
88 void traverse(Visitor *visitor) override;
89
90 GM_OFI_DECLARE;
91
92private:
93
94 std::map<size_t, size_t> mappings;
95 std::shared_ptr<AnalogsTracker> analogsTracker;
96};
97
98END_NAMESPACE_GMTRACK;
99
100#endif
Analogs filter that re-maps analog indices to a standard order for application compatibility between ...
Definition AnalogsMapper.hh:20
The base of AnalogsTrackers.
Definition AnalogsTracker.hh:18
std::array< size_t, 2 > size2
Array of 2 size_t.
Definition io_size.hh:12
The visitor of a design pattern for automatic traversal.
Definition Object.hh:75
Standard analogs indices, for compatibility.
Definition AnalogsMapper.hh:30