public Form_Nota(SistemaDosimetrico sitDos = null, Equipo equipo = null, bool creaNota = false) //si no crea es porque solo estoy viendola { InitializeComponent(); }
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)); } }
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)); }
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)); } } }
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 } } }
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_ExportarEq_Click(object sender, EventArgs e) { Equipo.exportar(DGV_Equipo); }
private void BT_EliminarEq_Click(object sender, EventArgs e) { Equipo.eliminar(DGV_Equipo); actualizarComboBoxCaliFotonesyElectrones(true); }
private void BT_PredetEqu_Click(object sender, EventArgs e) { Equipo.hacerPredeterminado(DGV_Equipo); actualizarComboBoxCaliFotonesyElectrones(true); }