library(svglite)

filename = 'Cs'
scale <- 110 # 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 <- 1197 + 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["2,0"] * (Ba), 662 ~ keV)), col = "#514E7E", cex = 0.75)

  i <- 365 + 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["2,0"] * (Ba), 184 ~ 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()
}
