/// <summary>
        /// записываем данных о событии из очереди в в бд
        /// </summary>
        public override void WriteInFileIzOcherediBD()
        {
            ClassZapicBD100 BDData = new ClassZapicBD100();

            try
            {
                OcherediNaZapicBD.TryDequeue(out BDData);
                if (BDData != null)
                {
                    //TODO (string nameFile, string nameBAAK, string time, string nameRan, int Amp, string nameklaster, int Nl, Double sig, int nD, int TimeFirst, int TimeAmp)
                    BDReadСобытие(BDData, false, false); //пишем в бд


                    КолПакетовОчер2++;
                }
            }
            catch (InvalidOperationException)
            {
            }
            catch (NullReferenceException ee)
            {
                Debug.WriteLine("Error 590");
            }
            catch (Exception e)
            {
                CтатусБААК12 = "Ошибка. Отключена " + e;
                InDe(false);
            }
        }
        /// <summary>
        /// записываем данные из очереди в файл и в бд
        /// </summary>
        public override void WriteInFileIzOcheredi()//работа с данными из очереди
        {
            try
            {
                bool?ed = OcherediNaZapic.TryDequeue(out dataYu);
                if (ed == true)
                {
                    if (dataYu.ListData != null)
                    {
                        byte[] d = new byte[dataYu.ListData.Count];
                        int    x = 0;
                        foreach (Byte b in dataYu.ListData)
                        {
                            d[x] = b;
                            x++;
                        }
                        if (data_w != null)
                        {
                            data_w.Write(d);
                        }


                        Double[]        sigm            = new double[12];
                        ClassZapicBD100 classZapicBD100 = new ClassZapicBD100();
                        Obrabotka(dataYu.ListData, out int[] Ampl, out double[] NL, (int)DataLenght, out int dN, out bool neutron, ref classZapicBD100);  //парсинг данных

                        // if (neu)
                        {
                            OcherediNaZapicBD.Enqueue(classZapicBD100);
                        }

                        КолПакетовОчер++;
                        // DataBAAKList1 = null;
                        d = null;
                    }
                }
            }
            catch (InvalidOperationException)
            {
            }
            catch (NullReferenceException)
            {
            }
            catch (Exception e)
            {
                CтатусБААК12 = "Ошибка. Отключена " + e;
                InDe(false);
            }
        }
        private void Neutron(int [,] n, int AmpOtbora, int dlitOtb, out int [] nn, string timeSob, Boolean test, double[] masNullR, bool bad)
        {
            nn = new int[12];
            for (int i = 0; i < 12; i++)
            {
                int countnutron = 0;

                int Nu         = Convert.ToInt32(masNullR[i]);
                int AmpOtbora1 = AmpOtbora + Nu;
                for (int j = 100; j < 20000; j++)
                {
                    int countmaxtime = 0;
                    int countfirsttime;
                    int countendtime;
                    int countfirsttime3;
                    int countendtime3;
                    int Amp = n[i, j];
                    if (Amp >= AmpOtbora1)//ищем претендента на нейтрон по порогу
                    {
                        //ищем граници претиндента нейтрона
                        countendtime = j;
                        int v = Amp;
                        while (v > Nu)
                        {
                            countendtime++;
                            v = n[i, countendtime];
                        }
                        v = Amp;
                        countfirsttime = j;
                        while (v > Nu)
                        {
                            countfirsttime--;
                            v = n[i, countfirsttime];
                        }
                        if (countendtime - countfirsttime >= dlitOtb)
                        {
                            countendtime3 = j;
                            v             = Amp;
                            while (v > Nu + 3)
                            {
                                countendtime3++;
                                v = n[i, countendtime3];
                            }

                            v = Amp;
                            countfirsttime3 = j;
                            while (v > Nu + 3)
                            {
                                countfirsttime3--;
                                v = n[i, countfirsttime3];
                            }
                            for (int v1 = countfirsttime; v1 <= countendtime; v1++)//точка максимум и значение максимум
                            {
                                if (Amp < n[i, v1])
                                {
                                    Amp          = n[i, v1];
                                    countmaxtime = v1;
                                }
                            }
                            if (countendtime3 - countfirsttime3 >= dlitOtb)
                            {
                                Amp -= Nu;
                                OcherediNaZapicBD.Enqueue(new ClassZapicBD()
                                {
                                    tipDataTest = test, tipDataSob = false, nameFileBD = NameFileClose, DBD = i, AmpSobBD = Amp, TimeFirstBD = countfirsttime, TimeEndBD = countendtime, timeBD = timeSob, TimeAmpBD = countmaxtime, TimeFirst3BD = countfirsttime3, TimeEnd3BD = countendtime3, bad = bad
                                });
                                countnutron++;
                            }
                        }
                        j = countendtime + 1;
                    }
                }
                nn[i] = countnutron;
            }
        }
        /// <summary>
        /// записываем данные из очереди в файл и в бд
        /// </summary>
        public virtual void WriteInFileIzOcheredi()//работа с данными из очереди
        {
            try
            {
                dataYu = new DataYu();
                bool?ed = OcherediNaZapic?.TryDequeue(out dataYu);

                if (ed == true)
                {
                    if (dataYu.ListData != null)
                    {
                        byte[] d = new byte[dataYu.ListData.Count];
                        int    x = 0;
                        foreach (Byte b in dataYu.ListData)
                        {
                            d[x] = b;
                            x++;
                        }
                        if (FlagSaveBin)
                        {
                            if (data_w != null)
                            {
                                data_w.Write(d);
                            }
                        }
                        if (UserSetting.FlagOtbor)
                        {
                            int[] coutN = new int[12];

                            Double[] sigm = new double[12];
                            if (BAAKTAIL)
                            {
                                Obrabotka(dataYu.ListData, out int[] Ampl, out string time1, out coutN, out double[] NL, out sigm, dataYu.tipDataTest, out bool bad);//парсинг данных



                                КолПакетовN += coutN.Sum();
                                Dispatcher.CurrentDispatcher.Invoke(DispatcherPriority.Render, new Action(() => { MyGrafic.AddTecPointN(Nkl, Convert.ToInt32(КолПакетовN) - ПакетовN); }));
                                if (!dataYu.tipDataTest)
                                {
                                    OcherediNaZapicBD.Enqueue(new ClassZapicBD()
                                    {
                                        tipDataTest = dataYu.tipDataTest, tipDataSob = true, nameFileBD = NameFileClose, nameBAAKBD = NameBAAK12, timeBD = time1, nameRanBD = BAAK12T.NameRan, AmpBD = Ampl, nameklasterBD = NamKl, NnutBD = coutN, NlBD = NL, sigBDnew = sigm, bad = bad
                                    });
                                }
                            }
                        }

                        КолПакетовОчер++;

                        DataBAAKList1 = null;
                        d             = null;
                    }
                }
            }
            catch (InvalidOperationException)
            {
            }
            catch (NullReferenceException ee)
            {
                Debug.WriteLine("Error 656");
            }

            catch (Exception e)
            {
                Brushes      = System.Windows.Media.Brushes.Red;
                CтатусБААК12 = "Ошибка. Отключена " + e;
                InDe(false);
            }
        }