private FireballParam CreateFireballParam() { FireballParam param = new FireballParam { BeamRapidity = ParticleRapidity, DiffusenessA_fm = DiffusenessA_fm, DiffusenessB_fm = DiffusenessB_fm, EMFCalculationMethod = EMFCalculationMethod, EMFQuadratureOrder = EMFQuadratureOrder, GridCellSize_fm = GridCellSize_fm, GridRadius_fm = GridRadius_fm, ImpactParameter_fm = ImpactParameter_fm, NucleonNumberA = NucleonNumberA, NucleonNumberB = NucleonNumberB, NuclearRadiusA_fm = NuclearRadiusA_fm, NuclearRadiusB_fm = NuclearRadiusB_fm, NucleusShapeA = NucleusShapeA, NucleusShapeB = NucleusShapeB, ProtonNumberA = ProtonNumberA, ProtonNumberB = ProtonNumberB, QGPConductivity_MeV = QGPConductivity_MeV, TemperatureProfile = TemperatureProfile.NmixPHOBOS13 }; return(param); }
private static FireballParam CreateFireballParam_PbPb() { FireballParam param = new FireballParam { BreakupTemperature_MeV = BreakupTemperature, CenterOfMassEnergy_TeV = 2.76, DecayWidthRetrievalFunction = DummyDecayWidthProvider.GetDummyDecayWidth, DiffusenessA_fm = 0.546, DiffusenessB_fm = 0.546, ExpansionMode = ExpansionMode.Transverse, FormationTimes_fm = FormationTimes, GridCellSize_fm = 0.4, GridRadius_fm = 10, ImpactParameter_fm = 1.5, InitialMaximumTemperature_MeV = 550, NuclearRadiusA_fm = 6.62, NuclearRadiusB_fm = 6.62, NucleonNumberA = 208, NucleonNumberB = 208, NucleusShapeA = NucleusShape.WoodsSaxonPotential, NucleusShapeB = NucleusShape.WoodsSaxonPotential, ProtonNumberA = 82, ProtonNumberB = 82, TemperatureProfile = TemperatureProfile.NmixPHOBOS13, ThermalTime_fm = 0.1, TransverseMomenta_GeV = new List <double> { 6 }, UseElectricField = false, UseMagneticField = false }; return(param); }
public void CalculateAverageMagneticFieldStrength() { FireballParam param = CreateFireballParamForAverageFieldStrengths(); CollisionalElectromagneticField emf = new CollisionalElectromagneticField(param); double result = emf.CalculateAverageMagneticFieldStrength(0.4, QGPConductivity); AssertHelper.AssertApproximatelyEqual(0.16239, result, 5); }
private Fireball.Fireball CreateFireballToDetermineMaxLifeTime() { FireballParam param = CreateFireballParam(); param.ImpactParameter_fm = 0; param.TransverseMomenta_GeV = new List <double> { 0 }; return(new Fireball.Fireball(param)); }
private static FireballParam CreateFireballParamForAverageFieldStrengths() { FireballParam param = CreateFireballParam(); param.EMFQuadratureOrder = 8; param.GridCellSize_fm = 1; param.GridRadius_fm = 10; param.TemperatureProfile = TemperatureProfile.NmixPHOBOS13; return(param); }
private Fireball.Fireball CreateFireballToCalcDirectPionDecayWidth( double impactParam ) { FireballParam param = CreateFireballParam(); param.ImpactParameter_fm = impactParam; param.TransverseMomenta_GeV = new List <double> { 0 }; param.ExpansionMode = ExpansionMode.Longitudinal; return(new Fireball.Fireball(param)); }
private static FireballParam CreateFireballParam_pPb() { FireballParam param = CreateFireballParam_PbPb(); param.CenterOfMassEnergy_TeV = 5.02; param.DiffusenessA_fm = 0; param.GridCellSize_fm = 0.2; param.GridRadius_fm = 5; param.NuclearRadiusA_fm = 0.8775; param.NucleonNumberA = 1; param.NucleusShapeA = NucleusShape.GaussianDistribution; param.ProtonNumberA = 1; param.TemperatureProfile = TemperatureProfile.NmixALICE13; return(param); }
/******************************************************************************************** * Private/protected members, functions and properties ********************************************************************************************/ private SpatialVector[] CalculateElectricFieldValues() { FireballParam param = CreateFireballParam(); Nucleus.CreateNucleusPair(param, out Nucleus nucleusA, out Nucleus nucleusB); NucleusElectromagneticField emf = new NucleusElectromagneticField( param.EMFCalculationMethod, param.BeamRapidity, nucleusA, param.EMFQuadratureOrder); SpatialVector[] fieldValues = new SpatialVector[Positions.Length]; for (int i = 0; i < Positions.Length; i++) { fieldValues[i] = emf.CalculateElectricField( Time, Positions[i].X, Positions[i].Y, Positions[i].Z, QGPConductivity); } return(fieldValues); }
/******************************************************************************************** * Public members, functions and properties ********************************************************************************************/ public double CalculateAverageSpinStateOverlap( BottomiumState tripletState, double properTime_fm ) { FireballParam param = CreateFireballParam(); LCFFieldFunction mixingCoefficientSquared = (x, y, rapidity) => { CollisionalElectromagneticField emf = new CollisionalElectromagneticField(param); double B_per_fm2 = emf.CalculateMagneticFieldInLCF( properTime_fm, x, y, rapidity, QGPConductivity_MeV).Norm; return(CalculateSpinStateOverlap(tripletState, B_per_fm2)); }; LCFFieldAverager avg = new LCFFieldAverager(param); return(avg.AverageByBottomiumDistribution(mixingCoefficientSquared)); }
private FireballParam CreateFireballParam() { FireballParam param = new FireballParam { BreakupTemperature_MeV = BreakupTemperature_MeV, CenterOfMassEnergy_TeV = CenterOfMassEnergy_TeV, DiffusenessA_fm = DiffusenessA_fm, DiffusenessB_fm = DiffusenessB_fm, EMFCalculationMethod = EMFCalculationMethod, EMFQuadratureOrder = EMFQuadratureOrder, EMFUpdateInterval_fm = EMFUpdateInterval_fm, ExpansionMode = ExpansionMode, FormationTimes_fm = FormationTimes_fm, GridCellSize_fm = GridCellSize_fm, GridRadius_fm = GridRadius_fm, ImpactParameter_fm = ImpactParameter_fm, InitialMaximumTemperature_MeV = InitialMaximumTemperature_MeV, NuclearRadiusA_fm = NuclearRadiusA_fm, NuclearRadiusB_fm = NuclearRadiusB_fm, NucleonNumberA = NucleonNumberA, NucleonNumberB = NucleonNumberB, NucleusShapeA = NucleusShapeA, NucleusShapeB = NucleusShapeB, ProtonNumberA = ProtonNumberA, ProtonNumberB = ProtonNumberB, QGPConductivity_MeV = QGPConductivity_MeV, QGPFormationTemperature_MeV = QGPFormationTemperature_MeV, TemperatureProfile = TemperatureProfile, ThermalTime_fm = ThermalTime_fm, TransverseMomenta_GeV = TransverseMomenta_GeV, UseElectricField = UseElectricField, UseMagneticField = UseMagneticField }; QQDataProvider provider = CreateQQDataProvider(); param.DecayWidthRetrievalFunction = provider.GetInMediumDecayWidth; return(param); }
private List <List <double> > CreateNucleusElectricFieldStrengthInLCFDataList() { List <List <double> > dataList = new List <List <double> >(); FireballParam param = CreateFireballParam(); List <double> rapidityValues = GetLinearAbscissaList(-8, 8, Samples); List <double> radialDistanceValues = GetLinearAbscissaList(0, 25, Samples); SurfacePlotFunction function = (rapidity, radialDistance) => { Nucleus.CreateNucleusPair(param, out Nucleus nucleusA, out Nucleus nucleusB); NucleusElectromagneticField emf = new NucleusElectromagneticField( param.EMFCalculationMethod, ParticleRapidity, nucleusA, EMFQuadratureOrder); return(EMFNormalization * emf.CalculateElectricFieldInLCF( FixedTime, radialDistance, 0, rapidity, QGPConductivity_MeV).Norm); };
private static FireballParam CreateFireballParam() { FireballParam param = new FireballParam { CenterOfMassEnergy_TeV = 2.76, DiffusenessA_fm = 0.546, DiffusenessB_fm = 0.546, EMFCalculationMethod = EMFCalculationMethod.DiffusionApproximation, EMFQuadratureOrder = 64, ImpactParameter_fm = 7, NuclearRadiusA_fm = 6.62, NuclearRadiusB_fm = 6.62, NucleonNumberA = 208, NucleonNumberB = 208, NucleusShapeA = NucleusShape.WoodsSaxonPotential, NucleusShapeB = NucleusShape.WoodsSaxonPotential, ProtonNumberA = 82, ProtonNumberB = 82, QGPConductivity_MeV = 5.8 }; return(param); }
private static FireballParam CreateFireballParam_PbPb() { FireballParam param = new FireballParam { BreakupTemperature_MeV = 160, CenterOfMassEnergy_TeV = 2.76, DiffusenessA_fm = 0.546, DiffusenessB_fm = 0.546, GridCellSize_fm = 0.4, GridRadius_fm = 10, InitialMaximumTemperature_MeV = 550, NuclearRadiusA_fm = 6.62, NuclearRadiusB_fm = 6.62, NucleonNumberA = 208, NucleonNumberB = 208, NucleusShapeA = NucleusShape.WoodsSaxonPotential, NucleusShapeB = NucleusShape.WoodsSaxonPotential, ProtonNumberA = 82, ProtonNumberB = 82, TemperatureProfile = TemperatureProfile.NmixPHOBOS13 }; return(param); }