code: def get_collision_times(self, nbounces=1):
      event_times = []
  
      t0, state = self.get_initial_state()
  
      for i in range(nbounces):
          event_t, solution = odeint_event(
              self,
              state,
              t0,
              event_fn=self.event_fn,
              reverse_time=False,
              atol=1e-8,
              rtol=1e-8,
              odeint_interface=self.odeint,
          )
          event_times.append(event_t)
  
          state = self.state_update(tuple(s[-1] for s in solution))
          t0 = event_t
  
      return event_times
  
file_path: torchdiffeq/examples/bouncing_ball.py
imports: import argparse
  import matplotlib.pyplot
  import torch
  import torch.nn
  from torchdiffeq import odeint, odeint_adjoint
  from torchdiffeq import odeint_event
label_desc: Use image node_id 6 for calling the BouncingBallExample obj's underlying member method code with example usage: obj.get_collision_times(nbounces) and returns: event_times