コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }