     size_t    ct;
     float     angle_diff;
 
-    __device__ RingBuffer( Direction dir, size_t size ) {
+    __device__ RingBuffer( Direction dir, const size_t size ) {
         assert( size < EDGE_LINKING_MAX_RING_BUFFER_SIZE );
         direction   = dir;
         max_size    = size;

                        int*                         d_ring_counter,
                        int                          d_ring_counter_max,
                        cv::cuda::PtrStepSzInt2      d_ring_output,
                        size_t param_windowSizeOnInnerEllipticSegment,
                        float  param_averageVoteMin )
{
    Direction direction       = Left;
    Direction other_direction = Right;

            if (convexEdgeSegmentSize > param_windowSizeOnInnerEllipticSegment) {
                int write_index = atomicAdd( d_ring_counter, 1 );
                if( write_index <= d_ring_counter_max ) {
                    printf("From (%d,%d): %d (average vote %f) - accept, edge segment size %d\n", p->coord.x, p->coord.y, i, averageVote, convexEdgeSegmentSize );
                    buf.copy( d_ring_output, write_index );
                } else {
                    printf("From (%d,%d): %d (average vote %f) - skip, max number of arcs reached (%d)\n", p->coord.x, p->coord.y, i, averageVote, d_ring_counter_max );
