8 #ifndef SENSOR_GRID_HH_ 9 #define SENSOR_GRID_HH_ 43 SensorGridBase() : pixel_number_offset(0), user_row_offset(0), user_col_offset(0), number_of_pixels(0), locked(false) {}
47 void LockGrid(
bool lock);
51 virtual bool PositionToPixel(
const double &x,
const double &y,
PixelInfo &pixel_info)
const = 0;
52 virtual bool PixelToPosition(
PixelInfo &pixel_info,
double &x,
double &y)
const = 0;
57 virtual void EnumerateGrids(
int &
id,
int &pixel_offset) = 0;
78 BasicGrid(
const double &x_min,
const double &x_width,
const double &x_pitch,
int n_x,
const double &y_min,
const double &y_width,
const double &y_pitch,
int n_y);
81 void SetXDivision(
const double &x_min,
const double &x_width,
const double &x_pitch,
int n_x);
82 void SetYDivision(
const double &y_min,
const double &y_width,
const double &y_pitch,
int n_y);
84 virtual bool PositionToPixel(
const double &x,
const double &y,
PixelInfo &pixel_info)
const;
85 virtual bool PixelToPosition(
PixelInfo &pixel_info,
double &x,
double &y)
const;
87 virtual void EnumerateGrids(
int &
id,
int &pixel_offset);
104 virtual void EnumerateGrids(
int &
id,
int &pixel_offset);
106 virtual bool PositionToPixel(
const double &x,
const double &y,
PixelInfo &pixel_info)
const;
110 virtual void LockChilds(
bool lock);
112 std::vector<SensorGridBase *>
grids;
bool locked
The total number of pixels in this grid (or its childs)
int user_row_offset
The pixel number of the first pixel in this grid (or its childs)
Common base class for sensor grids.
std::vector< SensorGridBase * > grids
int number_of_pixels
user prowided offset to add to column on grid value in PixelInfo
A generic regular pixel grid with dead space between cells.
void EnumerateGridsProxy(SensorGridBase *b, int &grid_id, int &pixel_number)
void SetUserRowOffset(int ofs)
A grid to group other grids or to create nested grids.
void SetUserColumnOffset(int ofs)
double x_width_over_two_pitch
virtual void LockChilds(bool)
double y_width_over_two_pitch
void SetPixelNumberOffset(int offset)
int user_col_offset
user prowided offset to add to row on grid value in PixelInfo
virtual void EnumerateGrids(int &id, int &pixel_offset)=0
void LockChildsProxy(SensorGridBase *b, bool lock)
virtual ~SensorGridBase()