KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
participant_spectator_model.cpp
1#include "participant_spectator_model.h"
2
3namespace 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 RVec< T0 > &v, const T1 &y)