library(svglite)

filename = 'KCl'
scale <- 1.5 # Scale compared to the Na_smoothest (for the arrows and text)

args = commandArgs(trailingOnly=TRUE)

table <- read.table(paste0('dades/', filename, '.txt'), sep="\t", dec='.', header=TRUE)

# Plot the data
plotall <- function() {
  plot(table$ChannelNumber, table$Impulses, type="l", col="#EEEEFF", xlab="Número de canal", ylab="Comptes")
  lines(table$ChannelNumber, table$ImpulsesSmooth, type="l")

  # Add arrows and text labels to the peaks
  i <- 2499 + 1
  arrows(table$ChannelNumber[i], table$ImpulsesSmooth[i] + scale*(3 + 2), table$ChannelNumber[i], table$ImpulsesSmooth[i] + scale*0.2, length = 0.05, code = 1, col = "#514E7E")
  text(table$ChannelNumber[i], table$ImpulsesSmooth[i] + scale*(5.2 + 2), bquote(atop(gamma["1,0"] * (Ar), 1409 ~ keV)), col = "#514E7E", cex = 0.75)

  i <- 423 + 1
  arrows(table$ChannelNumber[i], table$ImpulsesSmooth[i] + scale*3, table$ChannelNumber[i], table$ImpulsesSmooth[i] + scale*0.2, length = 0.05, code = 1, col = "#799B6F")
  text(table$ChannelNumber[i], table$ImpulsesSmooth[i] + scale*5.2, bquote(atop(BS ~ gamma["1,0"] * (Ar), 217 ~ keV)), col = "#799B6F", cex = 0.75)
}

pdf(paste0('output/', filename, '.pdf'), width = 6, height = 5)
plotall()
dev.off()

if (length(args) < 1 || args[1] != "preview") {
  svg(paste0('output/', filename, '.svg'), width = 6, height = 5)
  plotall()
  dev.off()
}
