private void ExpandTimeSlices()
{
IList<AnalystField> oldList = _script.Normalize.NormalizedFields;
IList<AnalystField> newList = new List<AnalystField>();
// generate the inputs foreach the new list
foreach (AnalystField field in oldList)
{
if (!field.Ignored)
{
if (_includeTargetField || field.Input)
{
for (int i = 0; i < _lagWindowSize; i++)
{
var newField = new AnalystField(field) {TimeSlice = -i, Output = false};
newList.Add(newField);
}
}
}
else
{
newList.Add(field);
}
}
// generate the outputs foreach the new list
foreach (AnalystField field in oldList)
{
if (!field.Ignored)
{
if (field.Output)
{
for (int i = 1; i <= _leadWindowSize; i++)
{
var newField = new AnalystField(field) {TimeSlice = i};
newList.Add(newField);
}
}
}
}
// generate the ignores foreach the new list
foreach (AnalystField field in oldList)
{
if (field.Ignored)
{
newList.Add(field);
}
}
// swap back in
oldList.Clear();
foreach (AnalystField item in oldList)
{
oldList.Add(item);
}
}