private List <List <double> > CreateDecayWidthEvaluatedAtDopplerShiftedTemperatureDataList() { List <List <double> > dataList = new List <List <double> >(); List <double> cosineValues = GetLinearAbscissaList(-1, 1, NumberAveragingAngles); dataList.Add(cosineValues); QQDataProvider provider = CreateQQDataProvider(); List <DecayWidthAverager> averagers = new List <DecayWidthAverager>(); foreach (BottomiumState state in BottomiumStates) { averagers.Add(provider.CreateDecayWidthAverager(state)); } foreach (DecayWidthAverager averager in averagers) { PlotFunction function = cosine => averager.GetDecayWidth( DecayWidthAverager.GetDopplerShiftedTemperature( MediumTemperatures_MeV[0], MediumVelocities[0], cosine)); AddPlotFunctionLists(dataList, cosineValues, function); } foreach (DecayWidthAverager averager in averagers) { PlotFunction function = cosine => averager.GetDecayWidth(MediumTemperatures_MeV[0]); AddPlotFunctionLists(dataList, cosineValues, function); } return(dataList); }
private List <List <double> > CreateElectromagneticallyShiftedEnergiesDataList( BottomiumState state ) { List <List <double> > dataList = new List <List <double> > { MediumTemperatures_MeV }; List <ElectricDipoleAlignment> alignmentList = new List <ElectricDipoleAlignment>() { ElectricDipoleAlignment.Random, ElectricDipoleAlignment.StrengthenBinding, ElectricDipoleAlignment.WeakenBinding }; foreach (ElectricDipoleAlignment alignment in alignmentList) { DecayWidthAverager averager = CreateQQDataProvider(alignment).CreateDecayWidthAverager(state); PlotFunction function = temperature => averager.GetElectromagneticallyShiftedEnergy( temperature, ElectricFieldStrength_per_fm2, MagneticFieldStrength_per_fm2); AddPlotFunctionLists(dataList, MediumTemperatures_MeV, function); } return(dataList); }
private List <List <double> > CreateEnergiesFromQQDataFileContinuousDataList() { List <List <double> > dataList = new List <List <double> >(); List <double> temperatureValues = GetLinearAbscissaList(0, 800, 800); dataList.Add(temperatureValues); QQDataProvider provider = CreateQQDataProvider(); foreach (BottomiumState state in BottomiumStates) { DecayWidthAverager averager = provider.CreateDecayWidthAverager(state); PlotFunction energyFunction = temperature => averager.GetEnergy(temperature); AddPlotFunctionLists(dataList, temperatureValues, energyFunction); } return(dataList); }