`func_asc_single_injection_Mat_TS.m`

This MATLAB function simulates the **evolution of a monoenergetic low-mass particle population** injected into a thermal background of high-mass particles. The simulation is based on relativistic elastic collisions and tracks how the energy distribution of the injected particles evolves over time. This setup is designed to test **non-equilibrium thermalization** and investigate conditions under which **power-law tails** might develop.

---

## 📥 Inputs

- `ic`: Struct with properties of the **injected particles**:
  - `ic.m`: mass of injected particles
  - `ic.gb`: reduced momentum (gamma * beta)
- `icb`: Struct with properties of the **background particles**:
  - `icb.m`: mass of background particles
  - `icb.gb`: reduced momentum (used to identify precomputed thermal data)
  - `icb.N`: number of background particles
- `f_param`: Relative scaling factor for collision frequency
- `num_par_inj`: Number of injected particles
- `max_time`: Total simulation time
- `step_inc`: Time step between recorded diagnostics
- `data_save_folder`: Path to save the output `.mat` file

---

## 📤 Outputs

- `data`: Struct with time evolution of the injected particle population:
  - `data.f_sim`: Energy distribution at each time step
  - `data.kin_energy`: Mean kinetic energy over time
  - `data.std`: Standard deviation of kinetic energy
  - `data.time`: Simulation time stamps
  - `data.coll_num_pp`: Number of collisions per particle per step
  - `data.Teo`: Reference Maxwell–Jüttner distribution
- `En`: Final energy array of the injected particles

---

## 📁 Notes

- The background distribution is loaded from a precomputed file in `saves_one_type/`.
- The energy distribution is computed using `low_err_histlog`, which returns symmetric error bars.
- The simulation assumes **single injection only** — no new particles are added during evolution.
- Random direction sampling is refreshed every time step.

---
🧪 Example Usage with Background + Injected MB Initialization
see Run.m and LoadDraw.m