예제 #1
0
        public static Equipo crearCo(string _marca, string _modelo, string _numSerie, string _alias, int _fuente, int _tipoDeHaz,
                                     double zref, double lado, double PDDzref, double TMRzref, string _institucion)
        {
            string auxEtiqueta = "";

            if (_alias != "")
            {
                auxEtiqueta += " (" + _alias + ")";
            }
            return(new Equipo()
            {
                Marca = _marca,
                Modelo = _modelo,
                NumSerie = _numSerie,
                Alias = _alias,
                Fuente = _fuente,
                TipoDeHaz = _tipoDeHaz,
                energiaFot = EnergiaFotones.energiaCo(zref, lado, PDDzref, TMRzref),
                EnergiasFotones = "Co",
                energiaElec = new ListaElectrones(),
                EnergiasElectrones = "",
                Institucion = _institucion,
                Etiqueta = _marca + " " + _modelo + " " + auxEtiqueta,
                Nota = "",
            });
        }
예제 #2
0
 public static void guardar(EnergiaFotones _nuevo, bool edita, DataGridView DGV)
 {
     if (edita)
     {
         string IDvieja   = ((EnergiaFotones)DGV.SelectedRows[0].DataBoundItem).ID;
         var    auxlista  = lista(DGV);
         int    indice    = DGV.SelectedRows[0].Index;
         bool   auxPredet = auxlista[indice].EsPredet;
         auxlista.RemoveAt(indice);
         _nuevo.ID = IDvieja;
         auxlista.Insert(indice, _nuevo);
         auxlista[indice].EsPredet = auxPredet;
         DGV.DataSource            = auxlista;
         DGV.ClearSelection();
         DGV.Rows[indice].Selected = true;
         edita = false;
     }
     else
     {
         if (DGV.RowCount == 0)
         {
             _nuevo.EsPredet = true;
         }
         var auxlista = lista(DGV);
         _nuevo.ID = _nuevo.Etiqueta;
         auxlista.Add(_nuevo);
         DGV.DataSource = auxlista;
     }
     darFormatoADGV(DGV);
 }
예제 #3
0
        public static void editarAle(ComboBox Marca, TextBox Modelo, TextBox NumSerie, TextBox Alias, ComboBox Institucion, Panel Fuente, Panel TipoHaz,
                                     DataGridView DGVEnFot, DataGridView DGVEnElec, DataGridView DGVEquipo)
        {
            Equipo aux = (Equipo)DGVEquipo.SelectedRows[0].DataBoundItem;

            Marca.Text       = aux.Marca;
            Modelo.Text      = aux.Modelo;
            NumSerie.Text    = aux.NumSerie;
            Alias.Text       = aux.Alias;
            Institucion.Text = aux.Institucion;
            Fuente.Controls.OfType <RadioButton>().ElementAt(1).Checked = false; //Control ALE
            Fuente.Controls.OfType <RadioButton>().ElementAt(0).Checked = true;  //Control Co
            if (aux.TipoDeHaz == 1)
            {
                TipoHaz.Controls.OfType <RadioButton>().ElementAt(1).Checked = true;  //pulsado
                TipoHaz.Controls.OfType <RadioButton>().ElementAt(0).Checked = false; //pulsado y barrido
            }
            else if (aux.TipoDeHaz == 2)
            {
                TipoHaz.Controls.OfType <RadioButton>().ElementAt(1).Checked = false;
                TipoHaz.Controls.OfType <RadioButton>().ElementAt(0).Checked = true;
            }
            DGVEnFot.DataSource = aux.energiaFot;
            EnergiaFotones.darFormatoADGV(DGVEnFot);
            DGVEnElec.DataSource = aux.energiaElec;
            EnergiaElectrones.darFormatoADGV(DGVEnElec);
        }
예제 #4
0
        public static BindingList <CalibracionFot> lista(Equipo equipo, EnergiaFotones energia, int DFSoISO)
        {
            var filtrada = IO.readJsonList <CalibracionFot>(file).Where(c => c.Equipo.Equals(equipo) && c.Energia.Equals(energia) && c.DFSoISO == DFSoISO).ToList();

            filtrada.Sort((x, y) => DateTime.Compare(x.Fecha, y.Fecha));
            return(new BindingList <CalibracionFot>(filtrada));
        }
예제 #5
0
        public static void editar(TextBox Energia, TextBox Zref, TextBox Lado, TextBox PDDZref, TextBox TMRZref, DataGridView DGV)
        {
            EnergiaFotones aux = lista(DGV)[DGV.SelectedRows[0].Index];

            Energia.Text = aux.Energia.ToString();
            Zref.Text    = Calcular.stringNaN(aux.ZRefFot);
            Lado.Text    = Calcular.stringNaN(aux.LadoCampo);
            PDDZref.Text = Calcular.stringNaN(aux.PddZrefFot);
            TMRZref.Text = Calcular.stringNaN(aux.TmrZrefFot);
        }
예제 #6
0
        /*  private void BT_EqIraCal_Click(object sender, EventArgs e)
         * {
         *    if (DGV_Equipo.SelectedRows.Count == 1)
         *    {
         *        Equipo seleccionado = Equipo.lista()[DGV_Equipo.SelectedRows[0].Index];
         *        CB_CaliEquipos.SelectedIndex = CB_CaliEquipos.FindStringExact(aux);
         *        actualizarComboBoxCaliFotones();
         *        panel = traerPanel(panel, 1, Panel_CalFot, Bt_CalFot, Panel_Botones);
         *        BT_EqIraCal.Text = "Seleccionar e ir a calibración";
         *    }
         *
         * }*/

        #endregion

        #region Equipos EnergiaFotonesBotones

        private void BT_EnFotGuardar_Click(object sender, EventArgs e)
        {
            DGV_EnFot.Visible = true;
            EnergiaFotones.guardar(EnergiaFotones.crear(Convert.ToDouble(TB_EnFotEn.Text), Calcular.doubleNaN(TB_EnFotLado), Calcular.doubleNaN(TB_EnFotZref), Calcular.doubleNaN(TB_EnFotPDD), Calcular.doubleNaN(TB_EnFotTMR)), editaEnergiaFot, DGV_EnFot);
            limpiarRegistro(Panel_EnFotEquipo);
            TB_EnFotLado.Text = Configuracion.ladoCampoPredetFot.ToString();
            TB_EnFotEn.Focus(); // para que vuelva a energía para cargar uno nuevo
            if (RB_FuenteCo.Checked == true && DGV_EnFot.ColumnCount > 0)
            {
                GB_EquiposEnergias.Enabled = false;
            }
            DGV_EnFot.Enabled = true;
        }
예제 #7
0
        //linea base

        public static bool hayReferencia(Equipo equipo, EnergiaFotones energia, int DFSoISO)
        {
            bool hayRef = false;

            foreach (CalibracionFot cali in lista())
            {
                if (cali.Equipo.Equals(equipo) && cali.Energia.Equals(energia) && cali.DFSoISO.Equals(DFSoISO) && cali.EsReferencia)
                {
                    hayRef = true;
                    break;
                }
            }
            return(hayRef);
        }
예제 #8
0
        public static CalibracionFot obtenerCaliReferencia(Equipo equipo, EnergiaFotones energia, int DFSoISO)
        {
            CalibracionFot caliLB = new CalibracionFot();

            foreach (CalibracionFot cali in lista())
            {
                if (cali.Equipo.Equals(equipo) && cali.Energia.Equals(energia) && cali.DFSoISO.Equals(DFSoISO) && cali.EsReferencia)
                {
                    caliLB = cali;
                    break;
                }
            }
            return(caliLB);
        }
예제 #9
0
        public static Equipo crearAle(string _marca, string _modelo, string _numSerie, string _alias, int _fuente, int _tipoDeHaz,
                                      DataGridView DGVFot, DataGridView DGVElec, string _institucion)
        //EsPredet inicia como false siempre
        {
            string       auxEnergiasFot  = "";
            string       auxEnergiasElec = "";
            ListaFotones listaF          = new ListaFotones();

            if (EnergiaFotones.lista(DGVFot).Count > 0)
            {
                listaF = EnergiaFotones.lista(DGVFot);
            }
            ListaElectrones listaE = new ListaElectrones();

            if (EnergiaElectrones.lista(DGVElec).Count > 0)
            {
                listaE = EnergiaElectrones.lista(DGVElec);
            }
            foreach (var energia in EnergiaFotones.lista(DGVFot))
            {
                auxEnergiasFot += energia.Energia + " ";
            }
            foreach (var energia in EnergiaElectrones.lista(DGVElec))
            {
                auxEnergiasElec += energia.Energia + " ";
            }
            string auxEtiqueta = "";

            if (_alias != "")
            {
                auxEtiqueta += " (" + _alias + ")";
            }
            return(new Equipo()
            {
                Marca = _marca,
                Modelo = _modelo,
                NumSerie = _numSerie,
                Alias = _alias,
                Fuente = _fuente,
                TipoDeHaz = _tipoDeHaz,
                energiaFot = listaF,
                EnergiasFotones = auxEnergiasFot,
                energiaElec = listaE,
                EnergiasElectrones = auxEnergiasElec,
                Institucion = _institucion,
                Etiqueta = _marca + " " + _modelo + " " + auxEtiqueta,
                Nota = "",
            });
        }
예제 #10
0
        private void InicializarComboBoxEnergias(bool guardarSeleccion = false)
        {
            EnergiaFotones energiaASeleccionar = new EnergiaFotones();
            EnergiaFotones energiaPredet       = new EnergiaFotones();

            if (guardarSeleccion)
            {
                energiaASeleccionar = (EnergiaFotones)CB_CaliEnergias.SelectedItem;
            }
            CB_CaliEnergias.Items.Clear();

            if (CB_CaliEquipos.SelectedIndex != -1)
            {
                if (equipoSeleccionado().Fuente == 1) //Co
                {
                    CB_CaliEnergias.Items.Add(equipoSeleccionado().energiaFot[0]);
                    CB_CaliEnergias.SelectedIndex = 0;
                    CB_CaliEnergias.Enabled       = false;
                }
                else if (equipoSeleccionado().Fuente == 2)
                {
                    foreach (var energia in equipoSeleccionado().energiaFot)
                    {
                        CB_CaliEnergias.Items.Add(energia);
                        CB_CaliEnergias.DisplayMember = "Etiqueta";
                        if (energia.EsPredet == true)
                        {
                            energiaPredet = energia;
                        }
                    }
                    if (energiaASeleccionar != null)
                    {
                        CB_CaliEnergias.SelectedItem = equipoSeleccionado().energiaFot.Where(e => e.ID == energiaASeleccionar.ID).FirstOrDefault();
                    }
                    else if (energiaPredet != null)
                    {
                        CB_CaliEnergias.SelectedItem = equipoSeleccionado().energiaFot.Where(e => e.ID == energiaPredet.ID).FirstOrDefault();
                    }

                    CB_CaliEnergias.Enabled = true;
                }
                CB_CaliEnergias.DisplayMember = "Etiqueta";
            }
        }
예제 #11
0
 public static CalibracionFot crear(Equipo _equipo, EnergiaFotones _energia, SistemaDosimetrico _sistdos, int _DFSoISO, double _ladoCampo, double _profundidad, DateTime _fecha,
                                    string _realizadoPor, double _ktp, double _TPR2010, double _kqq0, int _mideKqq0, double _kpol, int _mideKpol, double _vred, double _ks, int _mideKs, double _mref, double _dwzref, double _dwzmax,
                                    double _um, double _temperatura, double _presion, double _humedad, double _lectVmas, double _lectVmenos, double _lectVtot, double _lectVred,
                                    double _lectRef, double _lect20, double _lect10, int _DoTPR2010, double _difLB)
 {
     return(new CalibracionFot()
     {
         Equipo = _equipo,
         Energia = _energia,
         SistemaDosim = _sistdos,
         DFSoISO = _DFSoISO,
         LadoCampo = _ladoCampo,
         Profundidad = _profundidad,
         Fecha = _fecha,
         RealizadoPor = _realizadoPor,
         UM = _um,
         temperatura = _temperatura,
         presion = _presion,
         humedad = _humedad,
         Ktp = _ktp,
         lect10 = _lect10,
         lect20 = _lect20,
         DoTPR2010 = _DoTPR2010,
         TPR2010 = _TPR2010,
         Kqq0 = _kqq0,
         mideKqq0 = _mideKqq0,
         lectVmas = _lectVmas,
         lectVmenos = _lectVmenos,
         kpol = _kpol,
         mideKpol = _mideKpol,
         Vred = _vred,
         lectVtot = _lectVtot,
         lectVred = _lectVred,
         ks = _ks,
         mideKs = _mideKs,
         lectRef = _lectRef,
         Mref = _mref,
         Dwzref = _dwzref,
         Dwzmax = _dwzmax,
         DifLB = _difLB,
         EsReferencia = false,
     });
 }
예제 #12
0
 private void BT_EnFotEliminar_Click(object sender, EventArgs e)
 {
     EnergiaFotones.eliminar(DGV_EnFot);
     limpiarRegistro(Panel_EnFotEquipo);
 }
예제 #13
0
 private void BT_EnFotEditar_Click(object sender, EventArgs e)
 {
     DGV_EnFot.Enabled = false;
     EnergiaFotones.editar(TB_EnFotEn, TB_EnFotZref, TB_EnFotLado, TB_EnFotPDD, TB_EnFotTMR, DGV_EnFot);
     editaEnergiaFot = true;
 }
예제 #14
0
 private void BT_EnFotPredet_Click(object sender, EventArgs e)
 {
     EnergiaFotones.hacerPredeterminado(DGV_EnFot);
 }
예제 #15
0
        public static double calcularTendencia(BindingList <CalibracionFot> lista, bool fechas, DateTime desde, DateTime hasta, Equipo equipo, EnergiaFotones energia, int DFSoISO, Chart grafico)
        {
            BindingList <CalibracionFot> listaFiltrada = new BindingList <CalibracionFot>();

            if (fechas)
            {
                foreach (CalibracionFot cali in lista)
                {
                    if (DateTime.Compare(cali.Fecha.Date, desde.Date) >= 0 && DateTime.Compare(cali.Fecha.Date, hasta.Date) <= 0)
                    {
                        listaFiltrada.Add(cali);
                    }
                }
            }
            else
            {
                listaFiltrada = lista;
            }
            if (listaFiltrada.Count() == 0)
            {
                MessageBox.Show("No hay calibraciones en el rango de fechas seleccionado");
                return(Double.NaN);
            }
            if (listaFiltrada.Count() == 1)
            {
                MessageBox.Show("En el rango de fechas seleccionado hay una única calibración.\nNo se puede realizar el análisis");
                return(Double.NaN);
            }
            else
            {
                List <Double> valores      = listaFiltrada.Select(q => q.Dwzref).ToList();
                List <Double> fechasDouble = listaFiltrada.Select(q => q.Fecha.ToOADate()).ToList();
                Graficar.agregarLineaTendencia(grafico, Calcular.cuadradosMinimos(fechasDouble, valores), fechasDouble.Min(), fechasDouble.Max());
                if (CalibracionFot.hayReferencia(equipo, energia, DFSoISO))
                {
                    return(Math.Round(Calcular.cuadradosMinimos(fechasDouble, valores).Item1 / CalibracionFot.obtenerCaliReferencia(equipo, energia, DFSoISO).Dwzref * 100 * 30, 2)); //mensual
                }
                else
                {
                    return(Math.Round(Calcular.cuadradosMinimos(fechasDouble, valores).Item1 / valores.Average() * 100 * 30, 2)); //mensual
                }
            }
        }
예제 #16
0
        public static double calcularDifConRef(double Dwref, Equipo equipo, EnergiaFotones energia, int DFSoISO)
        {
            double DwrefLB = obtenerCaliReferencia(equipo, energia, DFSoISO).Dwzref;

            return(Math.Round((Dwref - DwrefLB) / DwrefLB * 100, 4));
        }
예제 #17
0
 public static double calcularKqq0(double TPR2010, Camara camara, Equipo equipo, bool usarLB, EnergiaFotones energia, int DFSoISO)
 {
     if (equipo.Fuente == 1)
     {
         return(1);
     }
     else if (usarLB)
     {
         return(obtenerCaliReferencia(equipo, energia, DFSoISO).Kqq0);
     }
     else
     {
         return(Math.Round(Calcular.interpolarLinea(TPR2010, Tabla.TPR2010etiquetas, camara.kqq0Fot), 4));
     }
 }
예제 #18
0
 public static double calcularTPR2010(double LV20, double LV10, int PDDoTPR, bool usarLB, Equipo equipo, EnergiaFotones energia, int DFSoISO)
 {
     if (usarLB)
     {
         return(obtenerCaliReferencia(equipo, energia, DFSoISO).TPR2010);
     }
     else if (PDDoTPR == 2)//está tildado D2010
     {
         double PDD20_10 = Math.Abs(LV20 / LV10);
         return(Math.Round(1.2661 * PDD20_10 - 0.0595, 4));
     }
     else
     {
         return(Math.Round(Math.Abs(LV20 / LV10), 4));
     }
 }
예제 #19
0
        public static double calcularKs(double Vtot, double LVtot, double LVred, bool noUsa, bool usaLB, Equipo equipo, EnergiaFotones energia, int DFSoISO, double Vred)
        {
            if (noUsa)
            {
                return(1);
            }
            else if (usaLB)
            {
                return(obtenerCaliReferencia(equipo, energia, DFSoISO).ks);
            }
            else
            {
                if (equipo.Fuente == 1)//Co
                {
                    return(Math.Round((Math.Pow((Vtot / Vred), 2) - 1) / (Math.Pow((Vtot / Vred), 2) - (LVtot / LVred)), 4));
                }
                else
                {
                    double a0 = 0; double a1 = 0; double a2 = 0;
                    if (equipo.TipoDeHaz == 1) //Pulsado
                    {
                        string[] fid             = Tabla.Cargar(Tabla.tabla_Ks_pulsados);
                        double[] v1_v2Etiquetas  = Tabla.extraerDoubleArray(fid, 0);
                        string[] a0a1a2Etiquetas = Tabla.extraerStringArray(fid, 1);
                        double[,] tabla = Tabla.extraerMatriz(fid, 3, 5, v1_v2Etiquetas.Count(), a0a1a2Etiquetas.Count());

                        a0 = Calcular.interpolatabla(Vtot / Vred, "a0", v1_v2Etiquetas, a0a1a2Etiquetas, tabla);
                        a1 = Calcular.interpolatabla(Vtot / Vred, "a1", v1_v2Etiquetas, a0a1a2Etiquetas, tabla);
                        a2 = Calcular.interpolatabla(Vtot / Vred, "a2", v1_v2Etiquetas, a0a1a2Etiquetas, tabla);
                    }
                    else
                    {
                        string[] fid             = Tabla.Cargar(Tabla.tabla_Ks_pulsadosYbarridos);
                        double[] v1_v2Etiquetas  = Tabla.extraerDoubleArray(fid, 0);
                        string[] a0a1a2Etiquetas = Tabla.extraerStringArray(fid, 1);
                        double[,] tabla = Tabla.extraerMatriz(fid, 3, 5, v1_v2Etiquetas.Count(), a0a1a2Etiquetas.Count());

                        a0 = Calcular.interpolatabla(Vtot / Vred, "a0", v1_v2Etiquetas, a0a1a2Etiquetas, tabla);
                        a1 = Calcular.interpolatabla(Vtot / Vred, "a1", v1_v2Etiquetas, a0a1a2Etiquetas, tabla);
                        a2 = Calcular.interpolatabla(Vtot / Vred, "a2", v1_v2Etiquetas, a0a1a2Etiquetas, tabla);
                    }
                    return(Math.Round(a0 + a1 * Math.Abs((LVtot / LVred)) + a2 * Math.Pow((LVtot / LVred), 2), 4));
                }
            }
        }
예제 #20
0
 public static double calcularKpol(int signopol, double LVmas, double LVmenos, bool noUsa, bool usaLB, Equipo equipo, EnergiaFotones energia, int DFSoISO)
 {
     if (noUsa)
     {
         return(1);
     }
     else if (usaLB)
     {
         return(obtenerCaliReferencia(equipo, energia, DFSoISO).kpol);
     }
     else
     {
         if (signopol == 1) //polaridad positiva
         {
             return(Math.Round((Math.Abs(LVmas) + Math.Abs(LVmenos)) / (2 * Math.Abs(LVmas)), 4));
         }
         else
         {
             return(Math.Round((Math.Abs(LVmas) + Math.Abs(LVmenos)) / (2 * Math.Abs(LVmenos)), 4));
         }
     }
 }
예제 #21
0
        /*  public static BindingList<Analisis> analizar(BindingList<CalibracionFot> lista, Equipo equipo, EnergiaFotones energia, int DFSoISO)
         * {
         *    BindingList<Analisis> listaAnalisis = new BindingList<Analisis>();
         *    Analisis analisis = new Analisis();
         *    if (CalibracionFot.hayReferencia(equipo, energia, DFSoISO))
         *    {
         *        CalibracionFot caliRef = CalibracionFot.obtenerCaliReferencia(equipo, energia, DFSoISO);
         *        analisis.valorReferenciaYFecha = caliRef.Dwzref.ToString() + " (" + caliRef.Fecha.ToShortDateString() + ")";
         *    }
         *    else
         *    {
         *        analisis.valorReferenciaYFecha = "";
         *    }
         *    List<Double> valores = lista.Select(q => q.Dwzref).ToList();
         *    analisis.valorPromedio = Math.Round(valores.Average(), 2);
         *    //analisis.desviacionEstandar = valores.
         *    analisis.valorMaximoYFecha = valores.Max().ToString() + " (" + (lista[valores.IndexOf(valores.Max())].Fecha).ToShortDateString() + ")";
         *    analisis.valorMinimoYFecha = valores.Min().ToString() + " (" + (lista[valores.IndexOf(valores.Min())].Fecha).ToShortDateString() + ")";
         *    analisis.desvEstandar = Calcular.desvEstandar(valores);
         *
         *    listaAnalisis.Add(analisis);
         *    return listaAnalisis;
         * }*/

        public static Analisis analizar2(BindingList <CalibracionFot> lista, Equipo equipo, EnergiaFotones energia, int DFSoISO)
        {
            Analisis      analisis = new Analisis();
            List <Double> valores  = lista.Select(q => q.Dwzref).ToList();

            if (CalibracionFot.hayReferencia(equipo, energia, DFSoISO))
            {
                CalibracionFot caliRef = CalibracionFot.obtenerCaliReferencia(equipo, energia, DFSoISO);
                analisis.Referencia = ValorARF.crear(caliRef.Dwzref, caliRef.Dwzref, caliRef.Fecha);
            }
            else
            {
                analisis.Referencia = new ValorARF()
                {
                    absoluto = double.NaN,
                    relativo = double.NaN,
                    fecha    = "",
                };
            }
            analisis.Maximo   = ValorARF.crear(valores.Max(), analisis.Referencia.absoluto, (lista[valores.IndexOf(valores.Max())].Fecha));
            analisis.Minimo   = ValorARF.crear(valores.Min(), analisis.Referencia.absoluto, (lista[valores.IndexOf(valores.Min())].Fecha));
            analisis.Promedio = ValorARF.crear(Math.Round(valores.Average(), 2), analisis.Referencia.absoluto);
            analisis.DesvEst  = ValorARF.crear(Calcular.desvEstandar(valores), analisis.Referencia.absoluto);

            return(analisis);
        }
예제 #22
0
        public static void analisis(object sender, PrintPageEventArgs e, Equipo equipo, EnergiaFotones energia, Chart grafico, DataGridView tablaCalibraciones, DataGridView tablaAnalisis, int DFSoISO)
        {
            string TMRoPDD = "";

            if (DFSoISO == 1)
            {
                TMRoPDD = energia.PddZrefFot.ToString();
            }
            else
            {
                TMRoPDD = energia.TmrZrefFot.ToString();
            }
            int posicionlinea = 30;

            posicionlinea  = tituloAnalisis(e, posicionlinea);
            posicionlinea  = fechaAnalisis(e, posicionlinea);
            posicionlinea += altoTexto;
            posicionlinea  = imprimirEquipo(e, posicionlinea, equipo, energia);
            posicionlinea += altoTexto;
            posicionlinea  = imprimirCondiciones(e, posicionlinea, DFSoISO, energia.LadoCampo.ToString(), energia.ZRefFot.ToString(), TMRoPDD);
            posicionlinea += altoTexto;
        }
예제 #23
0
 public static int imprimirEquipo(PrintPageEventArgs e, int posicionlinea, Equipo equipo, EnergiaFotones energia)
 {
     imprimirSubtitulo(e, "Unidad de tratamiento", posicionlinea);
     posicionlinea += altoSubtitulo;
     imprimirLinea(e, posicionlinea);
     posicionlinea += espacioTitulo;
     imprimirEtiquetaYValor(e, posicionlinea, "Institución: ", equipo.Institucion, 0);
     posicionlinea += altoTexto + espacioParrafo;
     if (equipo.Fuente == 1)
     {
         imprimirEtiquetaYValor(e, posicionlinea, "Tipo de equipo: ", "Co-60", 0);
         posicionlinea += altoTexto + espacioParrafo;
         imprimirEtiquetaYValorx3(e, posicionlinea, "Marca: ", equipo.Marca, "Modelo: ", equipo.Modelo, "Nº de serie: ", equipo.NumSerie);
         posicionlinea += (altoTexto + espacioParrafo) * 2; //Ver que quede igual que en ALE
     }
     else if (equipo.Fuente == 2)
     {
         imprimirEtiquetaYValor(e, posicionlinea, "Tipo de equipo: ", "Acelerador Lineal de Electrones", 0);
         posicionlinea += altoTexto + espacioParrafo;
         imprimirEtiquetaYValorx3(e, posicionlinea, "Marca: ", equipo.Marca, "Modelo: ", equipo.Modelo, "Nº de serie: ", equipo.NumSerie);
         posicionlinea += altoTexto + espacioParrafo;
         imprimirEtiquetaYValor(e, posicionlinea, "Energía Nominal: ", energia.Energia + "MV", 0);
     }
     posicionlinea += altoTexto + espacioParrafo;
     return(posicionlinea);
 }