Hello,
You are assuming that you have 1 ray per angle. But it depends on how you have defined your plugin in the URDF. For example in the following hokuyo plugin you will have 720 samples <samples>720</samples>
between -90º <min_angle>-1.570796</min_angle>
and 90º <max_angle>1.570796</max_angle>
.
<gazebo reference="base_laser_link">
<sensor type="gpu_ray" name="head_hokuyo_sensor">
<pose>0 0 0 0 0 0</pose>
<visualize>true</visualize>
<update_rate>40</update_rate>
<ray>
<scan>
<horizontal>
<samples>720</samples>
<resolution>1</resolution>
<min_angle>-1.570796</min_angle>
<max_angle>1.570796</max_angle>
</horizontal>
<vertical>
<samples>1</samples>
<resolution>1</resolution>
<min_angle>0</min_angle>
<max_angle>0</max_angle>
</vertical>
</scan>
<range>
<min>0.10</min>
<max>30.0</max>
<resolution>0.01</resolution>
</range>
<noise>
<type>gaussian</type>
<mean>0.0</mean>
<stddev>0.01</stddev>
</noise>
</ray>
<plugin name="gazebo_ros_head_hokuyo_controller" filename="libgazebo_ros_gpu_laser.so">
<topicName>/base_scan</topicName>
<frameName>base_laser_link</frameName>
</plugin>
</sensor>
</gazebo>