Ejemplo n.º 1
0
        /********************************************************************************************
        * Public members, functions and properties
        ********************************************************************************************/

        public double CalculateElectromagneticField(
            EMFComponent component,
            double effectiveTime_fm,
            double radialDistance_fm,
            double conductivity_MeV
            )
        {
            CalculateElectromagneticField(
                effectiveTime_fm, radialDistance_fm, conductivity_MeV,
                out double azimuthalMagneticComponent_per_fm2,
                out double longitudinalElectricComponent_per_fm2,
                out double radialElectricComponent_per_fm2);

            switch (component)
            {
            case EMFComponent.AzimuthalMagneticComponent:
                return(azimuthalMagneticComponent_per_fm2);

            case EMFComponent.LongitudinalElectricComponent:
                return(longitudinalElectricComponent_per_fm2);

            case EMFComponent.RadialElectricComponent:
                return(radialElectricComponent_per_fm2);

            default:
                throw new Exception("Invalid EMFComponent.");
            }
        }
Ejemplo n.º 2
0
        private List <List <double> > CreatePointChargeFieldRadialDistanceDataList(
            EMFComponent component
            )
        {
            List <List <double> > dataList = new List <List <double> >();

            List <double> radialDistanceValues = GetLogarithmicAbscissaList(0.1, 100, Samples);

            dataList.Add(radialDistanceValues);

            foreach (EMFCalculationMethod method in Enum.GetValues(typeof(EMFCalculationMethod)))
            {
                PointChargeElectromagneticField emf = PointChargeElectromagneticField.Create(
                    method, ParticleRapidity);

                PlotFunction fieldValue = radius => EMFNormalization
                                          * emf.CalculateElectromagneticField(component, FixedTime, radius, QGPConductivity_MeV);

                AddPlotFunctionLists(dataList, radialDistanceValues, fieldValue);
            }

            return(dataList);
        }