KaliVeda
Toolkit for HIC analysis
participant_spectator_model.cpp
1 #include "participant_spectator_model.h"
2 
3 namespace KVImpactParameters {
4 
5 
10 
11  int participant_spectator_model::sector(double BETA, double NU) const
12  {
13  // Return sector number according to values of \f$\nu\f$ and \f$\beta\f$
14  //
15  // [See Fig. 35 of Gosset et al.]
16 
17  if (NU > 0.5 * (1 + BETA)) return Sector::I;
18  if (NU > 0.5) return Sector::II;
19  if (NU > 0.5 * (1 - BETA)) return Sector::III;
20  return Sector::IV;
21  }
22 
23 
24 
34 
35  double participant_spectator_model::F(double b, bool target) const
36  {
37  // The number of participant nucleons in a spherical nucleus of mass number \f$A_1\f$ and radius \f$R_1\f$,
38  // aimed with impact parameter \f$b\f$ at a spherical nucleus of mass number \f$A_2\f$ and radius \f$R_2\f$
39  // is given by
40  //\f[
41  //N_1=A_1 F(\nu,\beta)
42  //\f]
43  //
44  // \param[in] b impact parameter of collision. This is given in [fm] unless constructor was called with normalize_b=kTRUE: then \f$0\leq b\leq 1\f$.
45 
46  double BETA = b * _beta;
47  double NU = 1. / (R1 + R2);
48  NU *= (target ? R2 : R1 * _beta);
49  double MU = 1. / NU - 1.;
50  switch (sector(BETA, NU)) {
51  case Sector::IV:
52  return 1;
53  case Sector::III:
54  return 0.75 * pow(1. - NU, 0.5) * pow((1 - BETA) / NU, 2) - 0.125 * pow((1 - BETA) / NU, 3.)
55  * (3 * pow(1 - NU, 0.5) - 1);
56  case Sector::II:
57  return 0.75 * pow(1. - NU, 0.5) * pow((1 - BETA) / NU, 2) - 0.125 * pow((1 - BETA) / NU, 3.)
58  * (3 / MU * pow(1 - NU, 0.5) - (1 - pow(1 - MU * MU, 1.5)) * pow(1 - pow(1 - MU, 2), 0.5) / pow(MU, 3));
59  case Sector::I:
60  return (1 - pow(1 - MU * MU, 1.5)) * pow(1 - pow(BETA / NU, 2), 0.5);
61  }
62  return 0;
63  }
64 
65 
66 
67 }
68 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t b
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t target
RVec< PromoteTypes< T0, T1 > > pow(const T0 &x, const RVec< T1 > &v)