private GreenTensor CalculateSymmGreenTensorAtoA()
        {
            _plan.SetOnlySymm();
            var trcSymm = TranceiverUtils.CreateAnomalyToAnomalySymm(Model.Anomaly);

            MemoryUtils.PrintMemoryReport("Before scalars SYM", Logger, MemoryProvider);
            var scalarsSymm = CalculateScalars(_plan, trcSymm.ToArray());

            MemoryUtils.PrintMemoryReport("After scalars SYM", Logger, MemoryProvider);

            using (Profiler?.StartAuto(ProfilerEvent.GreenTensorAtoA))
            {
                GreenTensor tensor;
                using (Profiler?.StartAuto(ProfilerEvent.GreenTensorAtoACalc))
                {
                    MemoryUtils.PrintMemoryReport("Before tensors SYM", Logger, MemoryProvider);
                    tensor = _tensorCalc.CalculateSymmAtoA(scalarsSymm, MemoryLayoutOrder.AlongVertical, _mirroringX);
                    MemoryUtils.PrintMemoryReport("After tensors SYM", Logger, MemoryProvider);
                    scalarsSymm.Dispose();
                    MemoryUtils.PrintMemoryReport("after SCAl Dispose SYM", Logger, MemoryProvider);
                }

                PopulateForFft(tensor, MemoryLayoutOrder.AlongVertical, _totalNxLength, true);

                if (_mirroringX)
                {
                    AddMinusToXy(tensor);
                }

                using (Profiler?.StartAuto(ProfilerEvent.GreenTensorAtoAFft))
                {
                    PerformFftSymm(tensor, MemoryLayoutOrder.AlongVertical);
                }

                return(tensor);
            }
        }