def METHOD_NAME(self):
    event = ArrayEventContainer(
        index=EventIndexContainer(obs_id=1, event_id=self.event_id),
        trigger=None,
        r0=None,
        dl0=None,
        dl2=None,
        simulation=None,
        count=self.event_id,
        calibration=None,
    )
    for tel_id, telescope in self.subarray.tel.items():
        if self.rng.uniform() >= self.trigger_probability.tel[tel_id]:
            continue
        cam = telescope.camera.geometry
        # draw cog
        r_fraction = np.sqrt(self.rng.uniform(0, 0.9))
        r = r_fraction * cam.guess_radius()
        phi = self.rng.uniform(0, 2 * np.pi)
        x = r * np.cos(phi)
        y = r * np.sin(phi)
        # draw length
        length = self.rng.uniform(
            self.min_length_m.tel[tel_id], self.max_length_m.tel[tel_id]
        )
        eccentricity = self.rng.uniform(
            self.min_eccentricity.tel[tel_id], self.max_eccentricity.tel[tel_id]
        )
        width = self.calc_width(eccentricity, length)
        psi = self.rng.uniform(0, 360)
        shower_area_ratio = (
            2 * np.pi * width * length / cam.pix_area.mean().to_value(u.m**2)
        )
        intensity = self.rng.poisson(50) * shower_area_ratio
        skewness = self.rng.uniform(
            self.min_skewness.tel[tel_id], self.max_skewness.tel[tel_id]
        )
        model = toymodel.SkewedGaussian(
            x=x,
            y=y,
            length=length * u.m,
            width=width * u.m,
            psi=psi * u.deg,
            skewness=skewness,
        )
        image, _, _ = model.generate_image(cam, intensity)
        event.dl1.tel[tel_id] = DL1CameraContainer(image=image)
    return event