def set_track_origin(self, track_origin, n_scat=None):
        '''
        Set whether to track the origin of the photons. The options are:

        'no' - does not split up the images/SEDs by origin

        'basic' - this splits up the images/SEDs into:

          * The photons last emitted from a source and did not undergo
            any subsequent interactions.
          * The photons last emitted from dust and did not undergo any
            subsequent interactions
          * The photons last emitted from a source and subsequently
            scattered
          * The photons last emitted from dust and subsequently
            scattered

        'detailed' - as above, but in each category, the origin is further
                     refined into each individual source and dust type.

        'scatterings' - as for 'basic', but splitting the scatterings into the
                        images for 1, 2, 3, ..., ``n_scat`` scatterings since the last
                        emission.

        Parameters
        ----------
        track_origin : bool
            Whether to track the origin of the photons as described above.
        '''

        if track_origin is True:
            track_origin = 'basic'
        elif track_origin is False:
            track_origin = 'no'
        elif track_origin not in ['no', 'basic', 'detailed', 'scatterings']:
            raise Exception("track_origin should be one of no/basic/detailed/scatterings")

        self.track_origin = track_origin
        self.track_n_scat = n_scat or 0
dataset/ETHPy150Open hyperion-rt/hyperion/hyperion/conf/conf_files.py/ImageConf.set_track_origin/original