public static List <HyT> listaHsyTs(Plan plan, TablaHyT tabla) { List <HyT> lista = new List <HyT>(); foreach (Aplicador ap in plan.aplicadores) { foreach (Fuente f in ap.fuentes) { foreach (PuntoDosis p in todosLosPuntos(plan)) { if (p.nombre == " recto3_1") { HyT hyt = new HyT() { directorSNx = Math.Round(dF(ap, f).x, 2), directorSNy = Math.Round(dF(ap, f).y, 2), directorSNz = Math.Round(dF(ap, f).z, 2), aplicador = ap.nombre, fuente = ap.fuentes.IndexOf(f), punto = p.nombre, H = Math.Round(paramH(ap, f, p), 2), T = Math.Round(paramT(ap, f, p), 2), tasaDosis = Math.Round(tasaDosisHT(Math.Round(paramH(ap, f, p), 2), Math.Round(paramT(ap, f, p), 2), tabla), 4), }; lista.Add(hyt); } } } } return(lista); }
public static void dosisLinea(Plan plan, Linea l, TablaHyT tabla) { foreach (PuntoDosis p in l.puntos) { dosisPunto(plan, p, tabla); } }
public static void tasasDosis(Plan plan, TablaHyT tabla) { foreach (PuntoDosis p in plan.puntos) { dosisPunto(plan, p, tabla); } foreach (Linea l in plan.lineas) { dosisLinea(plan, l, tabla); } }
public static void calcularTodo(string[] fid, Plan plan, TablaHyT tabla) { plan.nombre = Extraer.extraerNombre(fid); plan.ID = Extraer.extraerID(fid); plan.prescripcion = Extraer.extraerPrescripcion(fid); plan.fecha = DateTime.Today; plan.aplicadores = new List <Aplicador>(); plan.lineas = new List <Linea>(); plan.puntos = new List <PuntoDosis>(); Extraer.extraerAplicadores(fid, plan.aplicadores); Extraer.extraerPuntosYLineas(fid, plan.puntos, plan.lineas); tasasDosis(plan, tabla); }
public static void dosisPunto(Plan plan, PuntoDosis p, TablaHyT tabla) { double dosisSinRedondear = 0; foreach (Aplicador ap in plan.aplicadores) { foreach (Fuente f in ap.fuentes) { dosisSinRedondear += dosisPuntoFuente(ap, f, p, tabla); } } p.dosisCalculo = Math.Round(dosisSinRedondear, 1); p.diferenciaDosis = Math.Round((p.dosisCalculo - p.dosisTPS) / p.dosisTPS * 100, 1); }
public static double dosisPuntoFuente(Aplicador ap, Fuente f, PuntoDosis p, TablaHyT tabla) { return(tasaDosisPuntoFuente(ap, f, p, tabla) * f.tiempo * tabla.factor); }
public static double tasaDosisPuntoFuente(Aplicador ap, Fuente f, PuntoDosis p, TablaHyT tabla) { double H = paramH(ap, f, p); double T = paramT(ap, f, p); return(tasaDosisHT(H, T, tabla)); }
public static double tasaDosisHT(double H, double T, TablaHyT tabla) { return(interpolar2DTabla(H, T, tabla.etiquetasH, tabla.etiquetasT, tabla.valores)); }