public static void editar(ComboBox Camara, ComboBox Electrometro, TextBox FactorCali, ComboBox SignoTension, TextBox Tension, ComboBox HazRef, TextBox TempRef, TextBox PresRef, TextBox HumRef, DateTime FechaCal, TextBox LaboCalibracion, int indice) { SistemaDosimetrico aux = lista()[indice]; if (!Camara.Items.Contains(aux.camara)) { Camara.Items.Add(aux.camara); } Camara.SelectedItem = aux.camara; if (!Electrometro.Items.Contains(aux.electrometro)) { Electrometro.Items.Add(aux.electrometro); } Electrometro.SelectedItem = aux.electrometro; FactorCali.Text = Convert.ToString(aux.FactorCalibracion); if (aux.SignoTension == 1) { SignoTension.SelectedItem = "+"; } else { SignoTension.SelectedItem = "-"; } Tension.Text = Convert.ToString(aux.Tension); HazRef.SelectedItem = aux.HazDeRef; TempRef.Text = Convert.ToString(aux.TempRef); PresRef.Text = Convert.ToString(aux.PresionRef); HumRef.Text = Calcular.stringNaN(aux.HumedadRef); FechaCal = Convert.ToDateTime(aux.FechaCalibracion); LaboCalibracion.Text = aux.LaboCalibracion; }
public static Analisis analizar2(BindingList <CalibracionElec> lista, Equipo equipo, EnergiaElectrones energia) { Analisis analisis = new Analisis(); List <Double> valores = lista.Select(q => q.Dwzref).ToList(); if (CalibracionElec.hayReferencia(equipo, energia)) { CalibracionElec caliRef = CalibracionElec.obtenerCaliReferencia(equipo, energia); 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); }
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); }
private void esNumeroTB(object sender, EventArgs e) { if (estaLleno((TextBox)sender)) { if (!Calcular.esNumero(((TextBox)sender).Text)) { MessageBox.Show("Debe ingresar un número"); ((TextBox)sender).Focus(); ((TextBox)sender).SelectAll(); } } }
public static void editar(TextBox Energia, TextBox R50Ion, TextBox Lado, Label R50D, Label Zref, TextBox PDDZref, DataGridView DGV) { EnergiaElectrones aux = lista(DGV)[DGV.SelectedRows[0].Index]; Energia.Text = aux.Energia.ToString(); R50Ion.Text = Calcular.stringNaN(aux.R50ion); Lado.Text = Calcular.stringNaN(aux.LadoCampo); R50D.Text = Calcular.stringNaN(aux.R50D); Zref.Text = Calcular.stringNaN(aux.Zref); PDDZref.Text = Calcular.stringNaN(aux.PDDZrefElec); }
private CalibracionFot calibracionActual() { double difConRef = Double.NaN; if (hayLBsinCartel()) { difConRef = calculoDifConRef(); } return(CalibracionFot.crear(equipoSeleccionado(), energiaSeleccionada(), sistDosimSeleccionado(), DFSoISO(), Calcular.validarYConvertirADouble(TB_CaliLadoCampo.Text), Calcular.validarYConvertirADouble(TB_CaliPRof.Text), DTP_FechaCaliFot.Value, realizadoPor(), calculoKTP(), calculoTPR2010(), calculokQQ0(), mideKqq0(), calculoKpol(), mideKpol(), Calcular.validarYConvertirADouble(TB_Vred.Text), calculoKs(), mideKs(), CalculoMref(), calculoDwRef(), calculoDwZmax(), Convert.ToDouble(TB_UM.Text), Convert.ToDouble(tbTemp.Text), Convert.ToDouble(tbPresion.Text), Convert.ToDouble(tbHumedad.Text), lecVmas(), lecVmenos(), lecVTotal(), lecVred(), lecRef(), lec20(), lec10(), TPRoD2010(), difConRef)); }
public static double convertirTBaDouble(TextBox tb) { double salida = Double.NaN; if (estaLleno(tb)) { salida = Calcular.validarYConvertirADouble(tb.Text); if (Double.IsNaN(salida)) { MessageBox.Show("Debe ingresar un número"); tb.Focus(); tb.SelectAll(); } } return(salida); }
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)); } }
public static double promediarPanel(Panel panel) { double promedio = Double.NaN; List <double> valores = new List <double>(); foreach (TextBox tb in panel.Controls.OfType <TextBox>()) { double aux = Double.NaN; aux = convertirTBaDouble(tb); if (!Double.IsNaN(aux)) { valores.Add(aux); } } promedio = Calcular.promediar(valores); return(promedio); }
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)); } } }
public static double calcularTendencia(BindingList <CalibracionElec> lista, bool fechas, DateTime desde, DateTime hasta, Equipo equipo, EnergiaElectrones energia, Chart grafico) { BindingList <CalibracionElec> listaFiltrada = new BindingList <CalibracionElec>(); if (fechas) { foreach (CalibracionElec 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 (CalibracionElec.hayReferencia(equipo, energia)) { return(Math.Round(Calcular.cuadradosMinimos(fechasDouble, valores).Item1 / CalibracionElec.obtenerCaliReferencia(equipo, energia).Dwzref * 100 * 30, 2)); //mensual } else { return(Math.Round(Calcular.cuadradosMinimos(fechasDouble, valores).Item1 / valores.Average() * 100 * 30, 2)); //mensual } } }
private void BT_Guardar_Click(object sender, EventArgs e) { int auxSignoTension; string auxFecha = DTP_FechaCal.Value.ToShortDateString(); if (CB_Tension.Text == "+") { auxSignoTension = 1; } else { auxSignoTension = -1; } double factorCalibracion = Convert.ToDouble(TB_FCal.Text); // if (CB_FactorCalibracionUnidades.SelectedText == "mGy/nC") { factorCalibracion = factorCalibracion / 1000; } else if (CB_FactorCalibracionUnidades.SelectedText == "cGy/nC") { factorCalibracion = factorCalibracion / 100; } SistemaDosimetrico.guardar(SistemaDosimetrico.crear((Camara)CB_Camara.SelectedItem, (Electrometro)CB_Electrometro.SelectedItem, factorCalibracion, auxSignoTension, Convert.ToDouble(TB_Tension.Text), CB_HazRef.Text, Convert.ToDouble(TB_Temp.Text), Convert.ToDouble(TB_Presion.Text), Calcular.doubleNaN(TB_Humedad), auxFecha, TB_LabCal.Text), editaSD, indice); editaSD = false; Close(); }
public static double calcularKqq0(Camara camara, Equipo equipo, EnergiaElectrones energia, double R50ion = double.NaN) { return(Math.Round(Calcular.interpolarLinea(energia.R50D, Tabla.R50etiquetas, camara.kqq0Elec), 4)); }
private void BT_EnElecGuardar_Click(object sender, EventArgs e) { DGV_EnElec.Visible = true; EnergiaElectrones.guardar(EnergiaElectrones.crear(Convert.ToDouble(TB_EnElecEn.Text), Calcular.doubleNaN(TB_EnElecLado), Calcular.doubleNaN(TB_EnElecR50ion), Calcular.doubleNaN(L_EnElecR50dosis), Calcular.doubleNaN(L_EnElecZref), Calcular.doubleNaN(TB_EnElecPDDZref)), editaEnergiaElect, DGV_EnElec); limpiarRegistro(Panel_EnElecEquipo); TB_EnElecLado.Text = Configuracion.ladoCampoPredetElec.ToString(); L_EnElecR50dosis.Text = null; L_EnElecZref.Text = null; TB_EnElecEn.Focus(); // para que vuelva a energía para cargar uno nuevo BT_EnElecGuardar.Enabled = false; DGV_EnElec.Enabled = true; }
/* 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; }
private void BT_GuardarEq_Click(object sender, EventArgs e) { if (editaEquipo) { indiceEquipo = DGV_Equipo.SelectedRows[0].Index; } int auxHaz = 0; if (RB_FuenteCo.Checked == true) { Equipo.guardar(Equipo.crearCo(cb_MarcaEq.Text, TB_ModeloEq.Text, TB_NumSerieEq.Text, TB_AliasEq.Text, 1, 0, Calcular.doubleNaN(TB_EnCoZref), Calcular.doubleNaN(TB_EnCoLado), Calcular.doubleNaN(TB_EnCoPDD), Calcular.doubleNaN(TB_EnCoTMR), cb_InstitucionEq.Text), editaEquipo, DGV_Equipo); } else if (RB_FuenteALE.Checked == true) { if (RB_Pulsado.Checked == true) { auxHaz = 1; } else if (RB_PulsadoYBarrido.Checked == true) { auxHaz = 2; } Equipo.guardar(Equipo.crearAle(cb_MarcaEq.Text, TB_ModeloEq.Text, TB_NumSerieEq.Text, TB_AliasEq.Text, 2, auxHaz, DGV_EnFot, DGV_EnElec, cb_InstitucionEq.Text), editaEquipo, DGV_Equipo); } DGV_Equipo.DataSource = Equipo.lista(); limpiarRegistro(GB_Equipos); limpiarRegistro(Panel_FuenteEq); limpiarRegistro(Panel_TipoHazEq); limpiarRegistro(Panel_EnCoEquipo); limpiarRegistro(Panel_EnElecEquipo); limpiarRegistro(Panel_EnFotEquipo); DGV_EnFot.Rows.Clear(); DGV_EnFot.Visible = false; DGV_EnElec.Rows.Clear(); DGV_EnElec.Visible = false; CHB_EnFotEquipo.Checked = false; CHB_EnElecEquipo.Checked = false; TB_EnElecR50ion_Leave(sender, e); cb_MarcaEq.SelectedItem = -1; if (editaEquipo) { foreach (DataGridViewRow row in DGV_Equipo.Rows) { row.Selected = false; } DGV_Equipo.Rows[indiceEquipo].Selected = true; } actualizarComboBoxCaliFotonesyElectrones(true); editaEquipo = false; Panel_TipoHazEq.Enabled = false; DGV_Equipo.Enabled = true; InicializarInstitucionYMarcaEquipo(); }