\documentclass[a4paper, 11pt]{article}

\input{preamble.tex}
\addbibresource{references.bib}

\rhead{Adrià Vilanova Martínez i Diana Tur Otero}
\lhead{Pràctica 1b}
\fancyfoot[C]{\thepage}

\setlength{\droptitle}{-4em}
\title{Pràctica 1b. Absorció de radiació gamma.}
\author{Adrià Vilanova Martínez i Diana Tur Otero}
\date{Divendres 10 de març de 2023}

\begin{document}

{
  \parskip = 0pt
  \maketitle
}

\section{Objectiu}
Estudiar l'absorció de radiació gamma pel plom i, en concret, determinar el seu coeficient d'atenuació màssic $\mu/\rho$.

\section{Metodologia}
Usarem una font puntual de \ch{^{137}Cs} per tenir un feix col·limat de raigs gamma, degut al decaïment del bari al seu estat fonamental, que alhora ha provingut del decaïment del cesi. La diferència amb la pràctica 1a és que en aquest cas aquests decaïments estan en el règim de l'equilibri secular. Per això la intensitat del feix serà constant.

Hem fet incidir aquest feix en 8 combinacions de làmines de plom de diferents gruixos i hem mesurat la intensitat transmesa per unitat de temps. Això ens permetrà determinar el coeficient d'atenuació màssic $\mu/\rho$ perquè la intensitat transmesa és funció del gruix màssic $t := \rho x$ que ha de travessar el feix:
\begin{equation}
    I(t) = I_0 \exp\left( - \frac{\mu}{\rho} t \right).
    \label{eq:intensitat_transmesa}
\end{equation}

\section{Figures i valors obtinguts}
Abans de fer les mesures, teníem l'objectiu d'escollir un temps d'execució suficient gran per tal de garantir que la incertesa estadística en la intensitat mesurada sigui com a màxim del 2\%. Si anomenem $\delta(n)$ la incertesa en el nombre de decaïments observats, degut al fet que el decaïment segueix una distribució de Poisson tindrem $\delta(n) = \sqrt{n}$. Aleshores, per tal que $\delta(n)/n < 0.02$, s'ha de complir:
\begin{equation}
    0.02 > \frac{\delta(n)}{n} = n^{-1/2} \iff n > \left( \frac{1}{0.02} \right)^2 = 2500.
    \label{eq:incertesa_n}
\end{equation}
És a dir, hem de mesurar al menys 2500 impulsos per poder garantir que estem per sota del 2\% d'incertesa.

Per tal de saber el temps que trigàvem en rebre al menys 2500 impulsos, hem agafat la làmina més gruixuda –és a dir, la que absorbeix més radiació– i hem mesurat durant $\qty{100}{\second}$ la intensitat mitjana transmesa per segon ($I_\text{mitj.} = \qty{3.06}{\#\per\second}$). Així, en el cas d'aquesta làmina havíem de fer la mesura durant al menys $n/I_\text{mitj.} = \qty{817}{\second}$.

En el cas de les altres làmines, com són menys absorbents, aquest temps també és suficient. Tot i així, per les làmines més fines hem tornat a calcular el temps necessari mitjançant el procediment anterior (calculant-nos la $I_\text{mitj.}$ de cada combinació) per tal de reduir el temps de mesura.

A més, també hem decidit truncar els temps d'execució a $\qty{600}{\second}$ en cas que el superin, degut al temps limitat que tenim al laboratori.

Just abans de començar l'experiment pròpiament, hem tornat a fer un calibratge mesurant la radiació de fons de la mateixa manera que vam fer a la pràctica 1a. Això ens ha donat el valor
\[ I_\text{fons} = \qty{18.5(9)}{\#\per\second}. \]

\begin{figure}
    \centering
    \includegraphics[trim=0 0.45cm 0 1.5cm]{grafiques/graficanormal.tex}
    \caption{Representació de la intensitat transmesa $I$ mesurada en funció del gruixos màssics $t$, amb l'exponencial ajustada a través de la regressió lineal de l'equació (\ref{eq:intensitat_transmesa_linealitzada}).}
    \label{fig:directe}
\end{figure}

Els valors obtinguts durant l'experiment es poden trobar a la taula \ref{table:mesures} i a la figura \ref{fig:directe}. Per poder trobar el coeficient d'atenuació màssic a partir d'ells, podem linealitzar la relació (\ref{eq:intensitat_transmesa}) prenent el logaritme a ambdues bandes:
\begin{equation}
    \log(I(t)) = log(I_0) - \frac{\mu}{\rho} t.
    \label{eq:intensitat_transmesa_linealitzada}
\end{equation}

\begin{figure}
    \centering
    \includegraphics[trim=0 0.45cm 0 1.5cm]{grafiques/grafica.tex}
    \caption{Regressió lineal amb les mesures de les desintegracions gamma del bari.}
    \label{fig:regressio}
\end{figure}

Així, fent una regressió lineal als valors obtinguts –que es pot veure a la figura \ref{fig:regressio}–, obtenim els següents paràmetres:
\[
    \begin{cases}
        \log(I_0) = \qty{2.62(2)}{}, \\[0.5em]
        \dfrac{\mu}{\rho} = \qty{0.092(4)}{\centi\meter\squared\per\gram}.
    \end{cases}
\]

El coeficient màssic donat per la base de dades XCOM del NIST pel plom en el cas dels fotons que fèiem incidir ($E_\gamma = \qty{662}{\kilo\electronvolt}$) és de $\qty{0.1126}{\centi\meter\squared\per\gram}$. Per tant, veiem que en principi el valor que hem trobat no és compatible amb el donat a la base de dades donat que no està dins de 2 vegades la desviació típica (incertesa) de la mesura.

Tot i això, si haguéssim fent un anàlisi de la propagació d'errors més acurat considerant també la incertesa deguda a la fluctuació del fons, és possible que haguéssim obtingut una incertesa molt més ampla que faria ambdós valors compatibles. Això és degut al fet que a l'informe curt només hem tingut en compte la incertesa estadística.

\section{Taules de dades}
\begin{center}
    \pgfplotstabletypeset[
      columns={lamines, gruixMassic, temps, impulsosPerSegon},
      columns/lamines/.style={column name={Làmines}, string type},
      columns/gruixMassic/.style={column name={\makecell[b]{Gruix màssic \\ $t \pm 0.01$ (\qty{}{\gram\per\centi\meter\squared})}}, fixed, fixed zerofill, precision=2},
      columns/temps/.style={column name={\makecell[b]{Temps \\ $t$ (s)}}, fixed, fixed zerofill, precision=0},
      columns/impulsosPerSegon/.style={column name={\makecell[b]{Intensitat transmesa \\ $I \pm 0.01$ ($\qty{}{\#\per\second}$)}}, fixed, fixed zerofill, precision=2}
    ]{dades/dades.txt}
    \captionof{table}{Mesures de la intensitat transmesa mitjana $I$ en funció del gruix màssic $t$. Les mesures s'han dut a terme durant el temps $t$ indicat.}
    \label{table:mesures}
\end{center}

\printbibliography

\end{document}
