code: def add_lidar_snapshot(self, lidar_data, name="LiDAR"):
      if not self.active:
          return
  
      points = np.frombuffer(lidar_data.raw_data, dtype=np.dtype("f4"))
      points = np.reshape(points, (int(points.shape[0] / 4), 4))
  
      frame = lidar_data.frame - self.init_timestamp["frame0"]
      np.savetxt(self.get_filename(name, frame), points)
      self.sensor_queue.put((lidar_data.frame, name))
  
imports: from .None import SmokeTest
  import carla
  import time
  import numpy
  import filecmp
  import shutil
  import os
label_desc: Use image node_id 15 for calling the Scenario obj's underlying member method code with example usage: obj.add_lidar_snapshot(lidar_data, name) without return types