public static Senial ObtenerSenial(string ssenial, int largo)
        {
            Senial opSenial = null;

            if (ssenial == "Basica") {
                opSenial = new SenialBasica ();
            } else if ( ssenial == "Pila") {
                opSenial = new SenialPila (largo);
            } else if (ssenial == "Cola") {
                opSenial = new SenialCola (largo);
            }

            return opSenial;
        }
        public Senial Recuperar(object id)
        {
            /* Obtener todos los archivos .dat
             * Para cada archivo, obtener la cabecera
             * 		Parsear la cabecera
             * 		Si el id es buscado
             * 		Levantar la señal
             *
             */
            bool _encontro = false;
            string _linea = "";
            SenialBasica _senialArchivada = new SenialBasica ();

            try{
                string [] _lista_datos = Directory.GetFiles(_ubicacion, "*.txt");
                Console.WriteLine("Hay {0} archivo/s", _lista_datos.Length.ToString());

                for (int i=0; !(_encontro); i++) {
                    using (StreamReader _arch_datos = new StreamReader(_lista_datos[i]))
                        {
                            _linea = _arch_datos.ReadLine();
                            Console.WriteLine(_linea);
                            this.ParsearCabecera(_linea, _senialArchivada);
                        if (_senialArchivada.Id == Convert.ToInt32(id)) {
                                _encontro = true;
                                int j = 0;
                                while((_linea = _arch_datos.ReadLine()) != null)
                                {
                                    Console.WriteLine (_linea);
                                    ParsearDato(_linea, _senialArchivada);
                                    Console.WriteLine("---> {0} : {1}",j, _senialArchivada.ObtenerValor(j));
                                    j++;
                            }
                        }
                    }

                }
                this.Trazar (_senialArchivada, "Se recupero la señal");
                this.Auditar(_senialArchivada, _senialArchivada.GetType().ToString());
            }
            catch (Exception e) {
                Console.WriteLine(e.Message);
                this.Trazar (_senialArchivada, e.Message);
                return null;
            }
            return _senialArchivada;
        }