예제 #1
0
        public Process PlotInMediumDecayWidthsVersusMediumVelocity()
        {
            MediumTemperatures_MeV = new List <double> {
                MediumTemperatures_MeV[0]
            };
            CalculateInMediumDecayWidth();

            StringBuilder plotFile = new StringBuilder();

            AppendHeader_InMediumDecayWidthsVersusMediumVelocity(plotFile);
            plotFile.AppendLine();

            string[][] titleList = new string[DopplerShiftEvaluationTypes.Count][];
            for (int i = 0; i < DopplerShiftEvaluationTypes.Count; i++)
            {
                titleList[i] = BottomiumStates.ConvertAll(
                    state => GetBottomiumStateGnuplotCode(state) + ", "
                    + DopplerShiftEvaluationTypes[i].ToUIString()).ToArray();
            }

            AppendPlotCommands(
                plotFile,
                abscissaColumn: 2,
                firstOrdinateColumn: 3,
                titles: titleList);

            WritePlotFile(plotFile);

            return(StartGnuplot());
        }
예제 #2
0
        private void CreateEnergiesFromQQDataFilePlotFile()
        {
            StringBuilder plotFile = new StringBuilder();

            plotFile.AppendLine("reset");
            plotFile.AppendLine("set terminal windows enhanced");
            plotFile.AppendLine();
            plotFile.AppendLine("set title 'Energies E from QQDataFile'");
            plotFile.AppendLine("set xlabel 'T (MeV)'");
            plotFile.AppendLine("set ylabel 'E (MeV)'");
            plotFile.AppendLine();
            ReduceNumberOfColors(plotFile, BottomiumStates.Count);
            plotFile.AppendLine();
            plotFile.AppendLine("set grid");
            plotFile.AppendLine();

            AppendPlotCommands(
                plotFile: plotFile,
                style: "points",
                titles: BottomiumStates.ConvertAll(
                    state => new string[] { GetBottomiumStateGnuplotCode(state) + ", data file" }).ToArray());

            AppendPlotCommands(
                appendToExistingPlotCommands: true,
                index: BottomiumStates.Count,
                plotFile: plotFile,
                style: "lines noautoscale",
                titles: BottomiumStates.ConvertAll(
                    state => GetBottomiumStateGnuplotCode(state) + ", continuous"));

            WritePlotFile(plotFile);
        }
예제 #3
0
        private void CreateDecayWidthEvaluatedAtDopplerShiftedTemperaturePlotFile()
        {
            StringBuilder plotFile = new StringBuilder();

            plotFile.AppendLine("reset");
            plotFile.AppendLine("set terminal windows enhanced");
            plotFile.AppendLine();
            plotFile.AppendLine("set title 'In-medium decay width "
                                + GetDecayWidthTypeGnuplotCode(DecayWidthType)
                                + " evaluated at a Doppler-shifted temperature"
                                + " for medium temperature T = " + MediumTemperatures_MeV[0].ToUIString() + " MeV"
                                + " and medium velocity |u| = " + MediumVelocities[0].ToUIString() + " c" + "'");
            plotFile.AppendLine("set xlabel 'cos({/Symbol q})'");
            plotFile.AppendLine("set ylabel '"
                                + GetDecayWidthTypeGnuplotCode(DecayWidthType) + " (MeV)'");
            plotFile.AppendLine();
            ReduceNumberOfColors(plotFile, BottomiumStates.Count);
            plotFile.AppendLine();
            plotFile.AppendLine("set style fill transparent solid 0.2");
            plotFile.AppendLine();

            string[] titleList = BottomiumStates.ConvertAll(
                state => GetBottomiumStateGnuplotCode(state)).ToArray();

            AppendPlotCommands(plotFile, titles: titleList);

            for (int i = 0; i < titleList.Length; i++)
            {
                plotFile.AppendFormat("'{0}' index 0 using 1:"
                                      + "(stringcolumn({2}) eq 'Infinity' ? column({1}) : column({2}))"
                                      + " with lines dashtype '-' notitle,\\",
                                      DataFileName, i + 2, i + 2 + titleList.Length);
                plotFile.AppendLine();
            }

            for (int i = 0; i < titleList.Length; i++)
            {
                plotFile.AppendFormat("'{0}' index 0 using 1:{1}:"
                                      + "(stringcolumn({2}) eq 'Infinity' ? column({1}) : column({2}))"
                                      + " with filledcurves notitle,\\",
                                      DataFileName, i + 2, i + 2 + titleList.Length);
                plotFile.AppendLine();
            }

            WritePlotFile(plotFile);
        }
예제 #4
0
        private void CreateElectromagneticallyShiftedEnergiesPlotFile()
        {
            StringBuilder plotFile = new StringBuilder();

            plotFile.AppendLine("reset");
            plotFile.AppendLine("set terminal windows enhanced");
            plotFile.AppendLine();
            plotFile.AppendLine("set title 'Electromagnetically shifted energies"
                                + " for E = " + ElectricFieldStrength_per_fm2.ToString() + " fm^{-2}"
                                + ", B = " + MagneticFieldStrength_per_fm2.ToString() + " fm^{-2}'");
            plotFile.AppendLine("set xlabel 'T (MeV)'");
            plotFile.AppendLine("set ylabel 'E (MeV)'");
            plotFile.AppendLine();
            ReduceNumberOfColors(plotFile, BottomiumStates.Count);
            plotFile.AppendLine();
            plotFile.AppendLine("set style fill transparent solid 0.2");
            plotFile.AppendLine();

            string[] titleList = BottomiumStates.ConvertAll(
                state => GetBottomiumStateGnuplotCode(state)).ToArray();

            plotFile.AppendLine("plot\\");

            for (int i = 0; i < titleList.Length; i++)
            {
                plotFile.AppendFormat("'{0}' index {1} using 1:2 with lines title '{2}',\\",
                                      DataFileName, i, titleList[i]);
                plotFile.AppendLine();
            }

            for (int i = 0; i < titleList.Length; i++)
            {
                plotFile.AppendFormat("'{0}' index {1} using 1:3:4 with filledcurves notitle,\\",
                                      DataFileName, i);
                plotFile.AppendLine();
            }

            WritePlotFile(plotFile);
        }