diff --git a/quad9/electrodinamica/resum/tema2.tex b/quad9/electrodinamica/resum/tema2.tex
new file mode 100644
index 0000000..2665aef
--- /dev/null
+++ b/quad9/electrodinamica/resum/tema2.tex
@@ -0,0 +1,385 @@
+% !TEX root = main.tex
+\chapter{Electrodinàmica}
+
+\section{Equacions de l'electrodinàmica}
+
+\begin{itemize}
+  \item $Q$ és mesurada.
+  \item $Q$ és un escalar sota transformacions Lorentz.
+  \item $Q$ està quantitzada ($\Delta Q / Q < 10^{-21}$).
+\end{itemize}
+
+\begin{defi}
+  La \underline{densitat de càrrega} és, amb abús de notació:
+  \[ \rho(\vec{x}) = \frac{\Delta Q}{\Delta V} = \frac{\Delta Q}{\Delta V_0} \gamma_{\vec{u}}. \]
+\end{defi}
+
+\begin{defi}
+  El \underline{quadrivector corrent} és:
+  \[ J^\mu := (c, \vec{u}) \rho = (c\rho, \vec{J}). \]
+\end{defi}
+
+\begin{prop}[Equació de continuitat]
+  Sigui $J^\mu$ el quadrivector corrent. Aleshores:
+  \[ \partial_\mu J^\mu = 0. \]
+\end{prop}
+
+\begin{obs}
+  Si prenem $\rho_0$ com la densitat de càrrega en el sistema comòbil, tenim:
+  \[ J^\mu = \rho_0 \gamma_u (c, \vec{u}) = \rho_0 U^\mu. \]
+\end{obs}
+
+\begin{obs}
+  Recordem les equacions de Maxwell al buit:
+  \[ \arraycolsep=15pt \def\arraystretch{2} \begin{array}{cc}
+    \div \vec{E} = 4 \pi \rho & \curl \vec{B} = \frac{4 \pi}{c} \vec{J} + \frac{1}{c} \partial_t \vec{E} \\
+    \div \vec{B} = 0 & \curl \vec{E} + \frac{1}{c} \partial_t \vec{B} = 0
+  \end{array} \]
+\end{obs}
+
+\begin{defi}
+  Anomenem \underline{potencial vector} un camp vectorial $\vec{A}$ tal que $\vec{B} = \curl \vec{A}$.
+\end{defi}
+
+\begin{obs}
+  Sota aquesta definició, tenim $\curl \left( \vec{E} + \frac{1}{c} \partial_t \vec{A} \right) = 0$.
+\end{obs}
+
+\begin{defi}
+  Anomenem \underline{potencial escalar} un camp escalar $\phi$ tal que $\vec{E} + \frac{1}{c} \partial_t \vec{A} = - \grad \phi$.
+\end{defi}
+
+\begin{obs}
+  Existeixen transformacions que ens converteixen potencials vectors en altres potencials vectors iguals de vàlid, i igual amb els potencials escalars. Anomenem aquest tipus de transformacions \underline{transformació de gauge}, i són les següents:
+  \begin{itemize}
+    \item $\vec{A}' = \vec{A} + \grad \alpha \quad \forall \alpha(t, \vec{x})$.
+    \item $\phi' = \phi - \frac{1}{c} \partial_t \alpha \quad \forall \alpha(t, \vec{x})$.
+  \end{itemize}
+\end{obs}
+
+\begin{defi}
+  Definim el \underline{quadrivector potencial} o \underline{camp de gauge} com:
+  \[ A^\mu := (\phi, \vec{A}). \]
+\end{defi}
+
+\begin{obs}
+  Podem fer el següent canvi de descripció:
+  \[ \begin{cases}
+    \vec{B} = \curl \vec{A}, \\
+    \vec{E} = - \grad \phi - \frac{1}{c} \partial_t \vec{A}.
+  \end{cases} \]
+\end{obs}
+
+\begin{defi}
+  El \underline{tensor de Faraday} o \underline{tensor electromagnètic} és:
+  \[ F_{\mu\nu} := \partial_\mu A_\nu - \partial_\nu A_\mu = \left(\begin{array}{c|ccc}
+    0 & & + \vec{E} & \\
+    \hline
+    & 0 & -B^3 & B^2 \\
+    - \vec{E} & & 0 & -B^1 \\
+    & & & 0
+  \end{array}\right). \]
+\end{defi}
+
+\begin{obs}
+  El tensor de Faraday és antisimètric i invariant gauge.
+\end{obs}
+
+\begin{defi}
+  Definim el tensor dual de Hodge com:
+  \[ *F^{\mu \nu} := \frac{1}{2} \varepsilon^{\mu \nu \rho \sigma} F_{\rho \sigma}. \]
+  En realitat és el mateix tensor $F^{\mu \nu}$ intercanviant $\vec{E} \to \vec{B}$, $\vec{B} \to - \vec{E}$.
+\end{defi}
+
+\begin{prop}
+  Les equacions de Maxwell en el buit es poden escriure com a:
+  \[ \partial_\mu F^{\mu \nu} = \frac{4 \pi}{c} J^\nu, \quad \partial_\mu {*F^{\mu \nu}} = 0, \]
+  o bé
+  \[ F_{\mu \nu} = \partial_\mu A_\nu - \partial_\nu A_\mu, \quad \Box A_\mu - \partial_\mu (\partial \cdot A) = \frac{4 \pi}{c} J_\mu, \]
+  on $\Box := \frac{1}{c^2} \partial_t^2 - \Delta$.
+\end{prop}
+
+\begin{prop}
+  Existeixen dos invariants electromagnètics:
+  \[ \begin{cases}
+    I_1 = F_{\mu \nu} F^{\mu \nu} = 2(B^2 - E^2), \\
+    I_2 = *F_{\mu \nu} F^{\mu \nu} = - 4 \vec{E} \cdot \vec{B}.
+  \end{cases} \]
+\end{prop}
+
+\begin{col}
+  Si $\vec{E} \perp \vec{B}$ a un SRI, ho són a tots.
+\end{col}
+
+\subsection{Transformació del camp electromagnètic}
+\begin{prop}
+  En configuració estàndard, els camps elèctrics i magnètics transformen com:
+  \[ \begin{cases}
+    {E'}^x = E^x, \\
+    {E'}^y = \gamma(E^y - \beta B^z), \\
+    {E'}^z = \gamma(E^z + \beta B^z),
+  \end{cases} \qquad \begin{cases}
+    {B'}^x = B^x, \\
+    {B'}^y = \gamma(B^y + \beta E^z), \\
+    {B'}^z = \gamma(B^z - \beta E^z).
+  \end{cases} \]
+
+  Pel cas general tenim les fòrmules:
+  \[ \begin{cases}
+    \vec{E}'_\parallel = \vec{E}_\parallel, \\
+    \vec{E}'_\perp = \gamma(\vec{E}_\perp + \vec{\beta} \times \vec{B}_\perp),
+  \end{cases} \qquad \begin{cases}
+    \vec{B}'_\parallel = \vec{B}_\parallel, \\
+    \vec{B}'_\perp = \gamma(\vec{B}_\perp - \vec{\beta} \times \vec{E}_\perp).
+  \end{cases} \]
+\end{prop}
+
+\subsection{Càrrega en un camp electromagnètic}
+\begin{prop}
+  Una càrrega puntual al buit genera els següent camps:
+  \[ \vec{E} = \frac{q \gamma}{r^2} \frac{1}{(1 + \beta^2 \gamma^2 \cos^2 \theta)^{3/2}} \hat{r}, \qquad \vec{B} = \vec{\beta} \times \vec{E}. \]
+\end{prop}
+
+\begin{obs}
+  La força és
+  \[ \vec{f} = \frac{d \vec{p}}{dt} = m \gamma \vec{a} + \frac{d(m \gamma)}{dt} \vec{u} \]
+  i, per tant, $\vec{f}$ no és necessàriament paral·lel a $\vec{a}$.
+\end{obs}
+
+\begin{defi}
+  La \underline{quadriforça} és:
+  \[ F^\mu := m \frac{dU^\mu}{d\tau} = \gamma \frac{d}{dt} (m \gamma c, \vec{p}) = \gamma \left( \frac{d}{dt} (m \gamma c), \vec{f} \right). \]
+\end{defi}
+
+\begin{prop}[Equació del treball o fórmula de la potència]
+  A partir del fet que $U^\mu U_\mu = c^2$ es pot demostrar:
+  \[ \frac{d(m \gamma c^2)}{dt} = \vec{f} \cdot \vec{u}. \]
+  Això ens permet expressar la quadriforça com:
+  \[ F^\mu = \gamma \left( \frac{\vec{f} \cdot \vec{u}}{c}, \vec{f} \right). \]
+\end{prop}
+
+\begin{obs}
+  Si $\vec{f} \parallel \vec{u}$, llavors $f = m \gamma^3 a = m \alpha$, on $\alpha$ és l'acceleració pròpia.
+\end{obs}
+
+\subsection{Força de Lorentz}
+\begin{defi}
+  Definim una generalització de la \underline{força de Lorentz} $\frac{d\vec{p}}{dt} = \vec{f} = q(\vec{E} + \vec{\beta} \times \vec{B})$ com la quadriforça
+  \[ F^\mu := \frac{q}{c} F^{\mu \nu} U_\nu. \]
+\end{defi}
+
+\begin{obs}
+  La força generalitzada de Lorentz implica el següent:
+  \begin{itemize}
+    \item L'equació del treball: $\displaystyle \frac{d(m \gamma c^2)}{dt} = \underbrace{q \vec{E}}_{\vec{f}} \cdot \vec{u}$, que a més ens diu que el camp magnètic no fa treball.
+    \item Si $A_\mu$ és independent del temps, aleshores l'energia $m \gamma c^2 + q \phi$ és una constant del moviment.
+  \end{itemize}
+\end{obs}
+
+\textit{El tema de formalisme lagrangià no està inclós en aquest resum.}
+
+\section{Lleis de conservació}
+
+\subsection{Tensor d'energia-moment d'una partícula}
+
+El corrent elèctric d'una partícula puntual és:
+\[ \begin{cases}
+  J^0 = c \rho = c q \, \delta^{(3)} (\vec{x} - \vec{x}(t)) & \text{(densitat de càrrega)}, \\
+  \vec{J} = q \vec{u} \, \delta^{(3)} (\vec{x} - \vec{x}(t)) & \text{(flux de càrrega - corrent)}.
+\end{cases} \]
+Fixem-nos:
+\[ J^\mu = cq \int d\tau \, \delta^{(4)}(x - x(\tau)) U^\mu(\tau). \]
+
+\begin{defi}
+  Definim el \underline{tensor energia-moment de la partícula} com:
+  \[ T^{\mu \nu} := \begin{cases}
+    T^{0 \nu} & \text{densitat de moment $P^\nu$}, \\
+    T^{i \nu} & \text{flux de moment $P^\nu$ en la direcció $i$}.
+  \end{cases} \]
+\end{defi}
+
+Per tant:
+\begin{itemize}
+  \item $T^{00}$: densitat d'energia.
+  \item $T^{i0}$: flux d'energia.
+  \item $T^{0j}$: densitat de $cp^j$.
+  \item $T^{ij}$: flux de $cp^j$ en la direcció $i$.
+\end{itemize}
+
+\begin{prop}
+  Tenim:
+  \[ \partial_\mu T^{\mu \nu} = \frac{1}{c} F^{\nu \sigma} J_{\sigma}. \]
+\end{prop}
+
+\subsection{Tensor d'energia-moment del camp electromagnètic}
+
+\begin{obs}
+  La identitat de Jacobi és:
+  \[ \partial_\mu F_{\rho \sigma} + \partial_\rho F_{\sigma \mu} + \partial_\sigma F_{\mu \rho} = 0. \]
+\end{obs}
+
+\begin{prop}
+  Mitjançant el desenvolupament d'un lagrangià del camp EM i la identitat de Jacobi arribem a:
+  \[ \partial_\rho \left[ \frac{1}{4 \pi} \left( F^{\rho \sigma} F_{\sigma \mu} + \delta_\mu^\rho \frac{1}{4} F^2 \right) \right] = - \frac{1}{c} F_{\mu \sigma} J^\sigma. \]
+\end{prop}
+
+\begin{defi}
+  Definim el \underline{tensor d'energia-moment electromagnètic} com:
+  \[ {T_{EM}}^\rho_\mu := \frac{1}{4 \pi} \left( F^{\rho \sigma} F_{\sigma \mu} + \frac{1}{4} \eta^{\rho \mu} F^2 \right). \]
+\end{defi}
+
+\begin{defi}
+  Definim el \underline{tensor d'energia-moment total} com:
+  \[ T_{total}^{\rho \mu} = T_{EM}^{\rho \mu} + T_{part}^{\rho \mu}. \]
+\end{defi}
+
+\begin{prop}[Llei de conservació d'energia-moment]
+  Tenim que:
+  \[ \partial_\rho T_{EM}^{\rho \mu} = - \frac{1}{c} F^{\mu \sigma} J_{\sigma}, \]
+  i juntant-ho amb l'equació trobada anteriorment pel cas d'una partícula obtenim la llei de conservació d'energia-moment:
+  \[ \partial_\rho (T_{total}^{\rho \mu}) = 0. \]
+\end{prop}
+
+\begin{defi}
+  El \underline{vector de Poynting} és:
+  \[ \vec{S} := \frac{c}{4 \pi} (\vec{E} \times \vec{B}). \]
+\end{defi}
+
+\begin{prop}[Teorema de Poynting]
+  Les components del tensor d'energia-moment electromagnètic són:
+  \[ \begin{cases}
+    \displaystyle T_{EM}^{00} = \frac{1}{8 \pi}(E^2 + B^2) = \varepsilon, & \text{(densitat d'energia electromagnètica)} \\[1em]
+    \displaystyle T_{EM}^{0i} = \frac{1}{c} S^i, & \text{(vector de Poynting)} \\[1em]
+    \displaystyle T_{EM}^{ij} = \frac{1}{4 \pi} \left[ - E^i E^j - B^i B^j + \frac{1}{2} \delta^{ij} (E^2 + B^2) \right]. & \text{(tensor d'esforços de Maxwell)}
+  \end{cases} \]
+\end{prop}
+
+\begin{prop}
+  Derivant el tensor d'energia-moment respecte la coordenada de temps obtenim:
+  \[ \partial_t \varepsilon + \div \vec{S} = - \frac{\Delta Q \, \vec{E} \cdot \vec{u}}{\Delta V} = - \frac{\text{\scriptsize treball del camp EM sobre les càrregues}}{\Delta t \cdot \Delta v}. \]
+\end{prop}
+
+\begin{defi}
+  Definim el \underline{moment total del camp EM} com:
+  \[ P_{EM}^{\mu} := \frac{1}{c} \int_{t = \text{const.}} T_{EM}^{0 \mu} d^3 x. \]
+\end{defi}
+
+\begin{obs}
+  En absència de càrregues, $\frac{d}{dt} P_{EM}^\mu = 0$, suposant que $T^{\mu\nu}$ està localitzat (ha de decaure més ràpid que $r^{-2}$).
+
+  En presència de càrregues, $\frac{d}{dt} (P_{EM}^\mu + P_{càrregues}^\mu) = 0$ anàlogament.
+\end{obs}
+
+\section{Solució de les equacions de Maxwell}
+
+Les equacions de Maxwell en funció del quadripotencial en el gauge de Lorentz són:
+\[ \Box A^\alpha = \frac{4 \pi}{c} J^\alpha, \quad \partial_\alpha A^\alpha = 0 \text{ (gauge de Lorentz)}. \]
+
+És una equació inhomogènia així que la solució general és: $A_g^\mu = A_h^\mu + A_p^\mu$ (la solució general és suma d'una homogènia i una particular).
+
+\begin{prop}
+  La solució de l'equació $\Box A^\nu = 0$ sota certes condicions de contorn són les ones planes de la forma
+  \[ A_h^\mu = \int d^3\vec{k} \left[ C^\mu(\vec{K}) e^{-i \omega t + i \vec{k} \cdot \vec{x}} + D^\mu(\vec{k}) e^{i \omega t + i \vec{k} \cdot \vec{x}} \right], \]
+  on $\omega = c | \vec{k} | \iff \omega^2 = c^2 k^2$ és la relació de dispersió, i demanem que $C^\mu(- \vec{k}) = [C^\mu(\vec{k})]^*$ i anàlogament per $D^\mu(\vec{k})$.
+
+  La solució particular de l'equació sencera és:
+  \[ A_p^\mu(x) = \frac{1}{c} \int d^4 x' \, G(x - x') J^\mu(x'), \]
+  on $G(x)$ s'anomena \underline{funció de Green} i és tal que compleix
+  \[ \Box_x G(x - x') = 4 \pi \delta^{(4)} (x - x'). \]
+\end{prop}
+
+\begin{defi}
+  La \underline{funció de Green retardada} és una funció de Green que es pren per no trencar la causalitat (que la font només afecti el futur):
+  \[ G_R(x) := - \frac{1}{\pi} \frac{1}{(2 \pi)^2} \int d^3 \vec{k} \int dk^0 \frac{e^{i k \cdot x}}{(k^0 - i \varepsilon)^2 - \vec{k}^2}, \]
+  on $k \cdot x = k^0 x^0 - \vec{k} \vec{x}$, i $\varepsilon > 0$. Si $x^0 < 0$, $G_R(x) = 0$.
+\end{defi}
+
+\begin{prop}
+  Pel teorema dels residus d'anàlisi complex obtenim:
+  \[ G_R(x) = \frac{- 2 \pi i}{(2 \pi)^3} \, \mathbb{I}(x^0 \geq 0) \, \int \frac{d^3 \vec{k}}{|\vec{k}|} \left[ e^{i \omega t - i \vec{k} \cdot \vec{x}} - e^{- i \omega t - i \vec{k} \cdot \vec{x}} \right] \implies \]
+  \[ \implies G_R(x - x') = \frac{\mathbb{I}(x^0 - {x'}^0 \geq 0)}{R} \delta(c(t - t') - R), \]
+  on $R = |\vec{x} - \vec{x}'|$.
+\end{prop}
+
+\subsection{Càrregues puntuals}
+\begin{prop}
+  Si definim $t_R$ el temps retardat (temps en què es va emetre) i $x$ el punt d'observació, ignorant la solució homogènia tenim com a solució:
+  \[ A^\mu(x) = \left. q \frac{(1, \vec{\beta})}{(1 - \vec{\beta} \cdot \vec{n}) R} \right|_{t_R}, \]
+  on $\vec{n}$ és la velocitat de propagació en la part espaial. Aquests potencials s'anomenen \underline{potencials de Liénard-Wiechert}.
+\end{prop}
+
+\begin{obs}
+  $A^\mu(x) \overset{\beta \to 0}{\longrightarrow} \frac{q}{R} (1, 0)$.
+\end{obs}
+
+\begin{prop}
+  Els camps EM són:
+  \[ \vec{E}(ct, \vec{x}) = \underbrace{\frac{q}{c} \left[ \frac{\vec{n} \times ((\vec{n} - \vec{\beta}) \times \dot{\vec{\beta}})}{(1 - \vec{\beta} \cdot \vec{n})^3 \, R} \right]_{t_R}}_{\text{\scriptsize camp d'acceleració o de radiació}} + \underbrace{\left. q \frac{(\vec{n} - \vec{\beta})}{\gamma^2 (1 - \vec{\beta} \cdot \vec{n})^3 R^2} \right|_{t_R}}_{\text{\scriptsize camp de Coulomb}}, \]
+  \[ \vec{B}(ct, \vec{x}) = \vec{n} \times \vec{E}. \]
+\end{prop}
+
+\begin{obs}
+  Diverses coses:
+  \begin{itemize}
+    \item Fixem-nos que l'acceleració $\dot{\vec{\beta}}$ intervè a les fòrmules!
+    \item La part Coulombiana és el mateix que vam calcular prèviament mitjançant la transformació d'$\vec{E}$ i $\vec{B}$ entre SRIs, però ara en funció de $t_R$.
+    \item $\vec{S} = \frac{c}{4 \pi} (\vec{E} \times \vec{B})$, així que l'únic terme que contribueix a la pèrdua d'energia és $(\text{radiació})^2 \propto \frac{1}{R^2}$.
+    \item Si el camp d'acceleració $\vec{E}^{acc} \perp \vec{n}$, aleshores $|\vec{E}^{acc}| = |\vec{B}^{acc}| \implies I_1^{acc} := 2(B^2 - E^2) = 0$. A més, $I_2 = 4 \vec{E} \cdot \vec{B} = 0$ perquè $\vec{E} \perp \vec{B}$.
+    \item Una partícula radia en la direcció transversal a la que es mou.
+  \end{itemize}
+\end{obs}
+
+\section{Radiació per càrregues acceleradaes}
+
+\begin{defi}
+  La \underline{potència radiada} per una partícula és:
+  \[ P = \int_{S^2(R)} \vec{S} \cdot \vec{n} \, R^2 \, d\Omega, \]
+  on $d\Omega = \sin \theta d \theta d\varphi$ és l'angle sòlid, $\vec{n} = \vec{R}/R$ i $R^2 d\Omega$ la superfície que cobreix l'angle sòlid.
+
+  Per tant, la potència radiada per angle sòlid és:
+  \[ \frac{dP}{d\Omega} = \vec{S} \cdot \vec{n} \, R^2. \]
+\end{defi}
+
+\begin{prop}[Fòrmula de Larmor]
+  Sigui $\theta$ l'angle entre $\vec{n}$ i $\dot{\vec{\beta}}$. Aleshores, en el cas no relativista tenim:
+  \[ \frac{dP}{d\Omega} = \frac{q^2}{4 \pi c} |\dot{\vec{\beta}}|^2 \sin^2 \theta, \quad P = \frac{2q^2}{3c} |\dot{\vec{\beta}}|^2, \]
+  on el màxim de potència el tenim quan $\theta \in \{ \pm \pi/2 \}$ i el mínim quan $\theta \in \{ 0, \pi \}$.
+
+  En el cas relativista tenim:
+  \[ P = - \frac{2 q^2}{3 c^3} \frac{dU^\mu}{d \tau} \frac{dU_\mu}{d \tau}, \]
+  on $\alpha^2 = - \frac{dU^\mu}{d \tau} \frac{dU_\mu}{d \tau}$.
+\end{prop}
+
+\begin{obs}
+  Si una partícula carregada es troba en un camp EM constant $F^{\mu \mu} = const.$, aleshores $P$ és constant.
+\end{obs}
+
+\subsection{Distribució angular de la radiació}
+
+\begin{prop}
+  La distribució angular instantània de l'energia radiada és:
+  \[ \frac{dP(t_R)}{d\Omega} = \frac{q^2}{4 \pi c} \frac{\left| \vec{n} \times [ (\vec{n} - \vec{\beta}) \times \dot{\vec{\beta}} ] \right|^2}{(1 - \vec{\beta} \cdot \vec{n})^5}. \]
+\end{prop}
+
+\begin{obs}
+  Distingim 2 casos particulars:
+  \begin{itemize}
+    \item \textbf{Moviment lineal:} ($\vec{\beta} \parallel \dot{\vec{\beta}}$)
+    \[ \frac{dP(t_R)}{d\Omega} = \frac{q^2}{4 \pi c} \frac{|\dot{\vec{\beta}}|^2 \sin^2 \theta}{(1 - \beta \cos \theta)^5}; \qquad \theta_{max} \approx \frac{1}{2 \gamma}, \quad \frac{dP}{d\Omega} \sim q^2 \alpha^2 \gamma^2; \]
+    \[ P = \frac{2}{3} \frac{q^2}{c^3 m^2} \vec{f}^2. \]
+    \item \textbf{Moviment circular:} ($\vec{\beta} \perp \dot{\vec{\beta}}$)
+    \[ \frac{dP(t_R)}{d\Omega} = \frac{q^2}{4 \pi c} \frac{\dot{\vec{\beta}}^2}{(1 - \vec{\beta} \cdot \vec{n})^3} \left[ 1 - \frac{\sin^2 \theta \cos^2 \varphi}{\gamma^2 (1 - \beta \cos \theta)^2} \right]; \qquad \theta_{max} = 0; \]
+    \[ P = \frac{2}{3} \frac{q^2}{c^3 m^2} \gamma^2 \vec{f}^2. \]
+  \end{itemize}
+\end{obs}
+
+\section{Radiació de sincrotró}
+
+Radiació emesa per una càrrega en moviment circular molt relativista ($\gamma \gg 1$).
+
+\begin{itemize}
+  \item \textbf{Cas no relativista:}
+  \[ \frac{dP}{d\Omega} = \frac{q^2 \omega^4 R^2}{4 \pi c^3} [1 - \sin^2 \theta \cos^2(\omega t - \varphi)], \qquad \omega = \frac{q B}{m \gamma_0 c} =: \frac{2 \pi}{T_0}. \]
+  \item \textbf{Cas relativista:} $\frac{dP}{d\Omega}$ es concentra en la direcció cap endavant, en un con d'obertura $\Delta \Omega \sim \frac{1}{\omega^2}$.
+  \[ \Delta t_R = \frac{r_0 \Delta \omega}{v}, \quad \Delta t \sim T_0 \gamma^{-3}. \]
+\end{itemize}
