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 bool guardar(CalibracionElec _nuevo, bool esRef) { var auxLista = lista(); auxLista.Add(_nuevo); if (esRef) { if (hayReferencia(_nuevo.Equipo, _nuevo.Energia)) { if (MessageBox.Show("Ya existe una referencia \n ¿Desea continuar?", "Establecer Referencia", MessageBoxButtons.OKCancel) == DialogResult.OK) { establecerComoReferencia(_nuevo, auxLista); } else { return(false); } } else { establecerComoReferencia(_nuevo, auxLista); } } IO.writeObjectAsJson(file, auxLista); return(true); }
//Kqq0 private double calculokQQ0() { double kqq0 = CalibracionElec.calcularKqq0(sistDosimSeleccionado().camara, equipoSeleccionado(), energiaSeleccionada(), energiaSeleccionada().R50D); ToolTips.habilitar(Double.IsNaN(kqq0), PicBox_Kqq0Elec, ToolTips.stringErrorkQQ0Elec, 0); return(kqq0); }
private BindingList <CalibracionElec> listaCalibracionesElectrones() { if (CHB_Rango.Checked) { return(CalibracionElec.lista(equipoSeleccionado(), energiaElectronesSeleccionada(), DTPDesde.Value, DTPHasta.Value)); } else { return(CalibracionElec.lista(equipoSeleccionado(), energiaElectronesSeleccionada())); } }
private CalibracionElec calibracionActual() { double difConRef = Double.NaN; if (hayLBsinCartel()) { difConRef = calculoDifConRef(); } return(CalibracionElec.crear(equipoSeleccionado(), energiaSeleccionada(), sistDosimSeleccionado(), Calcular.validarYConvertirADouble(TB_CaliLadoCampo.Text), energiaSeleccionada().Zref, DTP_FechaCaliElec.Value, realizadoPor(), calculoKTP(), calculokQQ0(), 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(), difConRef)); }
//Ks private double calculoKs() { double Vred = Double.NaN; if (!CHB_NoUsaKs.Checked && !CHB_UsaKsLB.Checked) { Vred = Convert.ToDouble(TB_Vred.Text); } double ks = CalibracionElec.calcularKs(sistDosimSeleccionado().Tension, lecVTotal(), lecVred(), CHB_NoUsaKs.Checked, CHB_UsaKsLB.Checked, equipoSeleccionado(), energiaSeleccionada(), Vred); ToolTips.habilitar(Double.IsNaN(ks), PicBox_KsElec, ToolTips.stringErrorInterpolacion, 0); return(ks); }
public static CalibracionElec obtenerCaliReferencia(Equipo equipo, EnergiaElectrones energia) { CalibracionElec caliLB = new CalibracionElec(); foreach (CalibracionElec cali in lista()) { if (cali.Equipo.Equals(equipo) && cali.Energia.Equals(energia) && cali.EsReferencia) { caliLB = cali; break; } } return(caliLB); }
public static void exportarUnaCalibracion(CalibracionElec _nuevo) { try { string fileName = IO.GetUniqueFilename(@"..\..\", "calibracionesExportadas"); IO.writeObjectAsJson(fileName, _nuevo); MessageBox.Show("Se ha exportado la calibracion correctamente", "Exportar"); } catch (Exception e) { MessageBox.Show("Ha ocurrido un error. No se ha podido exportar: " + e.ToString()); } }
private bool hayLBsinCartel() { if (CB_CaliEquipos.SelectedIndex == -1 || CB_CaliEnergias.SelectedIndex == -1) { return(false); } else if (!CalibracionElec.hayReferencia(equipoSeleccionado(), energiaSeleccionada())) { return(false); } else { return(true); } }
public static void establecerComoReferencia(CalibracionElec caliElec, BindingList <CalibracionElec> auxLista) { foreach (CalibracionElec cali in auxLista) { if (cali.Equipo.Equals(caliElec.Equipo) && cali.Energia.Equals(caliElec.Energia)) { cali.EsReferencia = false; if (cali.Equals(caliElec)) { cali.EsReferencia = true; cali.DifLB = Double.NaN; } } } }
private bool hayLB() { if (CB_CaliEquipos.SelectedIndex == -1 || CB_CaliEnergias.SelectedIndex == -1) { MessageBox.Show("Debe elegir equipo, energía y condiciones de medición \npara poder cargar valores de referencia"); return(false); } else if (!CalibracionElec.hayReferencia(equipoSeleccionado(), energiaSeleccionada())) { MessageBox.Show("No se registra una calibración de referencia para este equipo, energía y condición"); return(false); } else { return(true); } }
private DateTime primerFechaCali() { DateTime primeraFecha = new DateTime(2017, 11, 8); if (CalibracionFot.lista().Count > 0) { primeraFecha = (CalibracionFot.lista().OrderBy(c => c.Fecha).First()).Fecha; } if (CalibracionElec.lista().Count > 0) { DateTime primeraFechaElec = (CalibracionElec.lista().OrderBy(c => c.Fecha).First()).Fecha; if (DateTime.Compare(primeraFechaElec, primeraFecha) < 0) { primeraFecha = primeraFechaElec; } } return(primeraFecha); }
private DateTime ultimaFechaCali() { DateTime ultimaFecha = new DateTime(2017, 11, 8); if (CalibracionFot.lista().Count > 0) { ultimaFecha = (CalibracionFot.lista().OrderByDescending(c => c.Fecha).First()).Fecha; } if (CalibracionElec.lista().Count > 0) { DateTime primeraFechaElec = (CalibracionElec.lista().OrderByDescending(c => c.Fecha).First()).Fecha; if (DateTime.Compare(primeraFechaElec, ultimaFecha) > 0) { ultimaFecha = primeraFechaElec; } } return(ultimaFecha); }
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 inicializarEquipos() { foreach (CalibracionFot cali in CalibracionFot.lista()) { if (!ListBox_Equipos.Items.Contains(cali.Equipo)) { ListBox_Equipos.Items.Add(cali.Equipo); ListBox_Equipos.DisplayMember = "Etiqueta"; } } foreach (CalibracionElec cali in CalibracionElec.lista()) { if (!ListBox_Equipos.Items.Contains(cali.Equipo)) { ListBox_Equipos.Items.Add(cali.Equipo); ListBox_Equipos.DisplayMember = "Etiqueta"; } } }
private void btnGuardar_Click(object sender, EventArgs e) { if (CalibracionElec.guardar(calibracionActual(), CHB_caliElecEstablecerComoRef.Checked)) { MessageBox.Show("Calibración guardada"); if (MessageBox.Show("¿Desea limpiar el registro?", "Limpiar Registro", MessageBoxButtons.OKCancel) == DialogResult.OK) { CHB_UsaKpolLB.Checked = false; CHB_UsaKsLB.Checked = false; limpiarRegistro2Niveles(Panel_CalElec); actualizarComboBoxCaliElectrones(); inicializarPredeterminados(100); chb_EditarVKpol.Checked = false; chb_EditarVKs.Checked = false; actualizarCalculos(); CB_caliElecRealizadoPor1.Text = ""; CB_caliElecRealizadoPor2.Text = ""; CB_caliElecRealizadoPor3.Text = ""; } } }
public static void hacerReferencia(DataGridView DGV) { var auxLista = lista(); CalibracionElec cali = (CalibracionElec)DGV.SelectedRows[0].DataBoundItem; if (cali.EsReferencia) { return; } if (hayReferencia(cali.Equipo, cali.Energia)) { if (MessageBox.Show("Ya existe una referencia \n ¿Desea continuar?", "Establecer Referencia", MessageBoxButtons.OKCancel) == DialogResult.OK) { establecerComoReferencia(cali, auxLista); } } else { establecerComoReferencia(cali, auxLista); } IO.writeObjectAsJson(file, auxLista); }
private double calculoDifConRef() { return(CalibracionElec.calcularDifConRef(calculoDwRef(), equipoSeleccionado(), energiaSeleccionada())); }
private double calculoDwZmax() { return(CalibracionElec.calcularDwZmax(calculoDwRef(), Convert.ToDouble(TB_CaliEPDDref.Text))); }
private double calculoDwRef() { return(CalibracionElec.CalcularDwRef(CalculoMref(), sistDosimSeleccionado())); }
//Referencia private double CalculoMref() { return(CalibracionElec.CalcularMref(lecRef(), calculoKTP(), calculoKs(), calculoKpol(), Convert.ToDouble(TB_UM.Text))); }
//Kpol private double calculoKpol() { return(CalibracionElec.calcularKpol(sistDosimSeleccionado().SignoTension, lecVmas(), lecVmenos(), CHB_NoUsaKpol.Checked, CHB_UsaKpolLB.Checked, equipoSeleccionado(), energiaSeleccionada())); }