public processCall(agenda agendaZd, double wzglCzasZdarzenia, SimClass klasaZgloszenia)
     : base(agendaZd, wzglCzasZdarzenia)
 {
     _zajPodgr = null;
     klasaZgl  = klasaZgloszenia;
     faza      = processStage.oczekiwanie;
 }
        public SimGroup(Wiazka wSymulowana)
        {
            _n                = 0;
            _K                = wSymulowana.sumaK;
            _V                = wSymulowana.V;
            totRozklZaj       = new double[_V + 1];
            _maxVi            = wSymulowana.maxVi;
            maxWolnePJP       = new double[maxVi + 1];
            maxWolnePJPrez    = new double[maxVi + 1];
            lPrzyjZglWstanieN = new int[_V + 1];
            lUtrZglWstanieN   = new int[_V + 1];

            _q     = (wSymulowana.AlgorytmRezerwacji == reservationAlgorithm.R3) ? _V : wSymulowana.q;
            sPodgr = new SimSubGroup[_K];
            int lP = 0;

            foreach (Subgroup klPodgr in wSymulowana.ListaPodgrupLaczy)
            {
                int lokQ = (wSymulowana.AlgorytmRezerwacji == reservationAlgorithm.R3) ? klPodgr.v - wSymulowana.tMax : lokQ = klPodgr.v;
                for (int i = 0; i < klPodgr.k; i++)
                {
                    sPodgr[lP++] = new SimSubGroup(klPodgr.v, lokQ, this);
                }
            }
            aRez = wSymulowana.AlgorytmRezerwacji;
            switch (wSymulowana.aWybPodgr)
            {
            case subgroupChooseAlgorithm.sequence:
                arbWybPodgr = new ChooseArbiterSequence(this);
                break;

            case subgroupChooseAlgorithm.RR:
                arbWybPodgr = new ChooseArbiterRR(this);
                break;

            case subgroupChooseAlgorithm.random:
                arbWybPodgr = new ChooseArbitrRandom(this);
                break;

            case subgroupChooseAlgorithm.randomCapacityProportional:
                arbWybPodgr = new ChooseArbiterRandomProportional(this);
                break;

            case subgroupChooseAlgorithm.randomOccupancyProportional:
                arbWybPodgr = new ChooseArbiterOccupancyProportional(this);
                break;

            default:
                arbWybPodgr = null;
                break;
            }
        }