docs: def on_initialize_simulants(self, pop_data: SimulantData):
          """Called by the simulation whenever new simulants are added.
  
          This component is responsible for creating and filling four columns
          in the population state table:
  
          'age' :
              The age of the simulant in fractional years.
          'sex' :
              The sex of the simulant. One of {'Male', 'Female'}
          'alive' :
              Whether or not the simulant is alive. One of {'alive', 'dead'}
          'entrance_time' :
              The time that the simulant entered the simulation. The 'birthday'
              for simulants that enter as newborns. A `pandas.Timestamp`.
  
          Parameters
          ----------
          pop_data :
              A record containing the index of the new simulants, the
              start of the time step the simulants are added on, the width
              of the time step, and the age boundaries for the simulants to
              generate.
  
          """
  
          age_start = self.config.population.age_start
          age_end = self.config.population.age_end
          if age_start == age_end:
              age_window = pop_data.creation_window / pd.Timedelta(days=365)
          else:
              age_window = age_end - age_start
  
          age_draw = self.age_randomness.get_draw(pop_data.index)
          age = age_start + age_draw * age_window
  
          if self.with_common_random_numbers:
              population = pd.DataFrame({'entrance_time': pop_data.creation_time,
                                         'age': age.values}, index=pop_data.index)
              self.register(population)
              population['sex'] = self.sex_randomness.choice(pop_data.index, ['Male', 'Female'])
              population['alive'] = 'alive'
          else:
              population = pd.DataFrame(
                  {'age': age.values,
                   'sex': self.sex_randomness.choice(pop_data.index, ['Male', 'Female']),
                   'alive': pd.Series('alive', index=pop_data.index),
                   'entrance_time': pop_data.creation_time},
                  index=pop_data.index)
  
          self.population_view.update(population)