コード例 #1
0
        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);
        }
コード例 #2
0
 public static void dosisLinea(Plan plan, Linea l, TablaHyT tabla)
 {
     foreach (PuntoDosis p in l.puntos)
     {
         dosisPunto(plan, p, tabla);
     }
 }
コード例 #3
0
 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);
     }
 }
コード例 #4
0
 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);
 }
コード例 #5
0
        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);
        }
コード例 #6
0
 public static double dosisPuntoFuente(Aplicador ap, Fuente f, PuntoDosis p, TablaHyT tabla)
 {
     return(tasaDosisPuntoFuente(ap, f, p, tabla) * f.tiempo * tabla.factor);
 }
コード例 #7
0
        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));
        }
コード例 #8
0
 public static double tasaDosisHT(double H, double T, TablaHyT tabla)
 {
     return(interpolar2DTabla(H, T, tabla.etiquetasH, tabla.etiquetasT, tabla.valores));
 }