# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""

import os
from topas2numpy import BinnedResult
import math 
import numpy as np
import statistics as st
import matplotlib.pyplot as plt

# Input parameters:
energies = [190,200,210,220]
nb_hist = 100 
particle = "protons"
nb_ZBins = 80
HLZ      = 20 

# Bin size calculation
bin_size = HLZ*2/nb_ZBins
x = np.arange(0,HLZ*2,bin_size)

filename = ["Dose_" + str(energies[i]) + "MeV.csv" for i in range(len(energies))]

plt.figure(figsize=(12,8))
i=0
label=[]
for i in range(len(energies)):
    data = BinnedResult(filename[i])
    dose = data.data['Sum'][0][0]
    dose = dose.transpose()/nb_hist
    label.append((str(energies[i])+' MeV'))
        
    color=['tab:blue', 'tab:orange', 'tab:red', 'tab:green','tab:purple','tab:brown', 'black']
    plt.plot(x,dose,color=color[i],linewidth='2',label=label[i])
    
plt.xlabel('Distance (cm)', fontsize=18)
plt.ylabel('Dose (Gy) per primary particle', fontsize=18)
plt.tick_params(labelsize=18)
plt.title("Dose measured over depth in a water box", fontsize=20)
plt.legend(loc='best', fontsize=18,ncol=1)
#plt.grid("True")
name = 'Example1_'+str(particle)+'.png'
plt.savefig(name,format='png',dpi=1000)
plt.show()