Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
FemtoSourceModelGausMt.cxx
1/*
2 * FemtoSourceModelGausKt.cxx
3 *
4 * Created on: 1 mar 2019
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#include "FemtoSourceModelGausMt.h"
10
11#include "Parameter.h"
12
13namespace Hal {
14 FemtoSourceModelGausMt::FemtoSourceModelGausMt() : FemtoSourceModel3D(7) {
15 SetOutParams(1, 1);
16 SetSideParams(1, 1);
17 SetLongParams(1, 1);
18 SetM2(0);
19 SetParName(3, "R_out^A");
20 SetParName(4, "R_side^A");
21 SetParName(5, "R_long^A");
22 SetParName(6, "m^{2}");
23 }
24
25 FemtoSourceModelGausMt::FemtoSourceModelGausMt(const FemtoSourceModelGausMt& model) : FemtoSourceModel3D(model) {}
26
27 void FemtoSourceModelGausMt::SetOutParams(Double_t a, Double_t b) {
28 SetParameter(a, 0);
29 SetParameter(b, 3);
30 }
31
32 void FemtoSourceModelGausMt::SetSideParams(Double_t a, Double_t b) {
33 SetParameter(a, 1);
34 SetParameter(b, 4);
35 }
36
37 void FemtoSourceModelGausMt::SetLongParams(Double_t a, Double_t b) {
38 SetParameter(a, 2);
39 SetParameter(b, 5);
40 }
41
42 void FemtoSourceModelGausMt::SetM2(Double_t par) { SetParameter(6, par); }
43
45
47 Double_t tpx = pair->GetPx1() + pair->GetPx2();
48 Double_t tpy = pair->GetPy1() + pair->GetPy2();
49 Double_t kt2 = (tpx * tpx + tpy * tpy) * 0.25;
50 if (GetParameter(6) == 0.0) { SetParameter(pair->GetM1() * pair->GetM2(), 6); }
51 Double_t tm = 1.0 / TMath::Sqrt(kt2 + GetParameter(6));
52 if (TMath::IsNaN(tm)) tm = 100;
53 double fSetRout = GetParameter(0) * (tm + GetParameter(3));
54 double fSetRside = GetParameter(1) * (tm + GetParameter(4));
55 double fSetRlong = GetParameter(2) * (tm + GetParameter(5));
56
57 fRout = fRandom->Gaus(0, fSetRout * TMath::Sqrt2());
58 fRside = fRandom->Gaus(0, fSetRside * TMath::Sqrt2());
59 fRlong = fRandom->Gaus(0, fSetRlong * TMath::Sqrt2());
60 }
61
64 return pack;
65 }
66
67 FemtoSourceModelGausMt::~FemtoSourceModelGausMt() {
68 // TODO Auto-generated destructor stub
69 }
70} // namespace Hal
Double_t GetPy1() const
Definition FemtoPair.h:237
Double_t GetPy2() const
Definition FemtoPair.h:262
Double_t GetM1() const
Definition FemtoPair.h:287
Double_t GetPx2() const
Definition FemtoPair.h:257
Double_t GetPx1() const
Definition FemtoPair.h:232
Double_t GetM2() const
Definition FemtoPair.h:292
virtual FemtoSourceModel * MakeCopy() const
virtual void GenerateCoordinates(FemtoPair *Pair)
virtual Package * Report() const
void SetParameter(Int_t par_no, Double_t par_val)
virtual Package * Report() const
Double_t GetParameter(Int_t n) const