8 #ifndef SENSOR_GRID_HH_
9 #define SENSOR_GRID_HH_
16 namespace SensorGrid {
90 void SetXDivision(
const double & x_min,
const double & x_width,
const double & x_pitch,
int n_x );
91 void SetYDivision(
const double & y_min,
const double & y_width,
const double & y_pitch,
int n_y );
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)
virtual void EnumerateGrids(int &id, int &pixel_offset)
Common base class for sensor grids.
virtual bool PixelToPosition(PixelInfo &pixel_number, double &x, double &y) const
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.
virtual void EnumerateGrids(int &id, int &pixel_offset)
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)
virtual bool PositionToPixel(const double &x, const double &y, PixelInfo &pixel_info) const =0
void LockGrid(bool lock)
Lock the grid:
double x_width_over_two_pitch
virtual bool PositionToPixel(const double &x, const double &y, PixelInfo &pixel_info) const
virtual bool PositionToPixel(const double &x, const double &y, PixelInfo &pixel_info) const
Convert a hit position to a pixel number.
virtual bool PixelToPosition(PixelInfo &pixel_info, double &x, double &y) const
Compute the center-position of a pixel on this grid and update the pixel_info structure.
void SetXDivision(const double &x_min, const double &x_width, const double &x_pitch, int n_x)
virtual void LockChilds(bool)
virtual bool PixelToPosition(PixelInfo &pixel_info, double &x, double &y) const =0
double y_width_over_two_pitch
void SetPixelNumberOffset(int offset)
virtual bool NextPixel(double &x, double &y, PixelInfo &pixel_number) const
Return information of the next pixel (pixel iteration)
virtual void LockChilds(bool lock)
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 AddGrid(SensorGridBase *grid)
std::vector< SensorGridBase * > grids
void LockChildsProxy(SensorGridBase *b, bool lock)
void SetYDivision(const double &y_min, const double &y_width, const double &y_pitch, int n_y)
virtual ~SensorGridBase()