public override LossStateCollection2 GetLossState() { LossStateCollection2 lossCol = new LossStateCollection2(1); double[] allSubjectLosses; //Handle Net or Gross postions if (positionType == PositionType.Gross) { allSubjectLosses = subjectLoss.AllLoss(); } else if (positionType == PositionType.Ceded) { allSubjectLosses = subjectLoss.AllLoss().Select(loss => loss * -1).ToArray(); } else { throw new NotSupportedException("Cannot handle positionType: " + positionType.ToString()); } lossCol.SetSubjectLosses(subjectLoss.AllLoss()); lossCol.SetRecoverableLosses(subjectLoss.AllLoss()); return(lossCol); }
public override void SetSubjectLoss(LossTimeSeries _subjectLoss) { if (OriginalLossSet == false) { originalSubjectLoss = _subjectLoss; OriginalLossSet = true; } else { subjectLoss = _subjectLoss; CurrentLossStateCollection.SetSubjectLosses(subjectLoss.AllLoss()); CurrentLossStateCollection.SetRecoverableLosses(subjectLoss.AllLoss()); } }