예제 #1
0
        public BalancedSplitter(BalancedType balanced, ICalculationManager calculationManager)
        {
            this.balanced = balanced;

            this.calculationManager = calculationManager;

            this.inPutFiber = null;

            this.attenuation = new BalancedAttenuation(null);

            this.outPutFiber = this.OutPuts();

            this.totalLoss = 0;

            this.calculationManager.Add(this);
        }
예제 #2
0
        public void Calculate()
        {
            if (this.inPutFiber is not null)
            {
                this.attenuation = GetAttenuation(this.inPutFiber.OutPutPower);
            }

            for (int count = 0; count < this.outPutFiber.Count; count++)
            {
                if (this.inPutFiber == null)
                {
                    this.outPutFiber[count].InPutPower = null;
                }
                else
                {
                    this.outPutFiber[count].InPutPower = attenuation.Loss;
                }

                this.outPutFiber[count].Calculate();
            }
        }