/********************************************************************************************
        * Constructors
        ********************************************************************************************/

        public BinBoundaryCalculator(
            FireballParam fireballParam,
            CancellationToken cancellationToken
            )
        {
            FireballParam     = fireballParam.Clone();
            CancellationToken = cancellationToken;
        }
Beispiel #2
0
        private Fireball CreateFireball()
        {
            FireballParam param = FireballParam.Clone();

            param.ImpactParameter_fm = CurrentImpactParam;

            return(new Fireball(param));
        }
Beispiel #3
0
        /********************************************************************************************
        * Constructors
        ********************************************************************************************/

        public QGPSuppression(
            FireballParam fireballParam,
            List <int> numberCentralityBins,
            List <List <double> > impactParamsAtBinBoundaries,
            CancellationToken cancellationToken
            )
        {
            FireballParam               = fireballParam.Clone();
            NumberCentralityBins        = numberCentralityBins;
            ImpactParamsAtBinBoundaries = impactParamsAtBinBoundaries;
            CancellationToken           = cancellationToken;

            FlatImpactParamsAtBinBoundaries = GetFlatImpactParams();
            NumberFlatBins     = FlatImpactParamsAtBinBoundaries.Count - 1;
            ArrayReshapingMask = GetArrayReshapingMask();
        }
Beispiel #4
0
        /********************************************************************************************
        * Constructors
        ********************************************************************************************/

        public GlauberCalculation(
            FireballParam param
            )
        {
            Param = param.Clone();

            AssertValidMembers();

            InitCoordinateSystem();
            InitInelasticppCrossSection();
            InitNucleusAB();
            InitNucleonNumberDensityFieldsAB();
            InitNucleonNumberColumnDensityFieldsAB();
            InitOverlapField();
            InitNumberCollisionsField();
            InitNumberParticipantsField();
            InitTemperatureScalingField();
        }
        private void GetValuesFromGlauberCalculation(
            double impactParam,
            out double ncoll,
            out double npart,
            out double dsigmadb,
            out double sigma
            )
        {
            FireballParam param = FireballParam.Clone();

            param.ImpactParameter_fm = impactParam;

            GlauberCalculation calc = new GlauberCalculation(param);

            ncoll = calc.TotalNumberCollisions;
            npart = calc.TotalNumberParticipants;

            dsigmadb = 2 * Math.PI * impactParam * (1.0 - Math.Exp(-ncoll));
            sigma    = param.GridCellSize_fm * dsigmadb;
            if (Sigmas.Count > 0)
            {
                sigma += Sigmas[Sigmas.Count - 1];
            }
        }
Beispiel #6
0
        /********************************************************************************************
        * Constructors
        ********************************************************************************************/

        public Fireball(
            FireballParam param
            )
        {
            Param    = param.Clone();
            LifeTime = -1;

            // The initial step should change the temperature by 1/3 percent for pure Bjorken flow
            // (which is the case in the initial stages)
            TimeFactor  = 1e-2;
            CurrentTime = Param.ThermalTime_fm;
            TimeStep    = CurrentTime * TimeFactor;          //  = 3 * DeltaT(tF)/T(tF) * tF

            AssertValidMembers();

            GlauberCalculation = new GlauberCalculation(Param);

            InitCoordinateSystem();
            InitV();
            InitElectromagneticField();
            InitTemperature();
            InitDecayWidth();
            InitDampingFactor();
        }
Beispiel #7
0
        /********************************************************************************************
        * Constructors
        ********************************************************************************************/

        public LCFFieldAverager(
            FireballParam param
            )
        {
            Param = param.Clone();
        }