Ejemplo n.º 1
0
 private void CalculateFireballEvolution(
     Fireball fireball
     )
 {
     while (fireball.MaximumTemperature > FireballParam.BreakupTemperature_MeV &&
            !CancellationToken.IsCancellationRequested)
     {
         // use small time steps so that an abort command by the user is registered faster
         fireball.Advance(0.1);
     }
 }
Ejemplo n.º 2
0
        private void CalculateUnnormalizedQGPSuppressionFactors()
        {
            while (!HasFinishedCurrentBin &&
                   !CancellationToken.IsCancellationRequested)
            {
                Fireball fireball           = CreateFireball();
                double   maximumTemperature = fireball.MaximumTemperature;

                CalculateFireballEvolution(fireball);
                CollectResults(fireball);
                UpdateStatus(maximumTemperature, fireball.LifeTime);

                CurrentImpactParam += FireballParam.GridCellSize_fm;
            }
        }
Ejemplo n.º 3
0
        private void CollectResults(
            Fireball fireball
            )
        {
            FlatNormalizationFactors[CurrentBinIndex]
                += CurrentImpactParam * fireball.IntegrateFireballField(FireballFieldType.Overlap);

            for (int pTIndex = 0; pTIndex < FireballParam.TransverseMomenta_GeV.Count; pTIndex++)
            {
                foreach (BottomiumState state in Enum.GetValues(typeof(BottomiumState)))
                {
                    FlatQGPSuppressionFactors[CurrentBinIndex][pTIndex][state]
                        += CurrentImpactParam * fireball.IntegrateFireballField(
                               FireballFieldType.UnscaledSuppression, state, pTIndex);
                }
            }
        }