#ifdef __ROOT__
ClassImp(AliFemtoModelGausLCMSFreezeOutGenerator, 1)
#endif
#include "math.h"
#include "AliFemtoModelGausLCMSFreezeOutGenerator.h"
#include "AliFemtoModelHiddenInfo.h"
#include "AliFemtoLorentzVector.h"
#include <TMath.h>
AliFemtoModelGausLCMSFreezeOutGenerator::AliFemtoModelGausLCMSFreezeOutGenerator() :
fSizeOut(0), fSizeSide(0), fSizeLong(0)
{
fRandom = new TRandom2();
}
AliFemtoModelGausLCMSFreezeOutGenerator::AliFemtoModelGausLCMSFreezeOutGenerator(const AliFemtoModelGausLCMSFreezeOutGenerator &aModel):
AliFemtoModelFreezeOutGenerator(aModel),
fSizeOut(0), fSizeSide(0), fSizeLong(0)
{
fRandom = new TRandom2();
SetSizeOut(aModel.GetSizeOut());
SetSizeSide(aModel.GetSizeSide());
SetSizeLong(aModel.GetSizeLong());
}
AliFemtoModelGausLCMSFreezeOutGenerator::~AliFemtoModelGausLCMSFreezeOutGenerator()
{
if (fRandom) delete fRandom;
}
AliFemtoModelGausLCMSFreezeOutGenerator& AliFemtoModelGausLCMSFreezeOutGenerator::operator=(const AliFemtoModelGausLCMSFreezeOutGenerator &aModel)
{
if (this != &aModel) {
fRandom = new TRandom2();
SetSizeOut(aModel.GetSizeOut());
SetSizeSide(aModel.GetSizeSide());
SetSizeLong(aModel.GetSizeLong());
}
return *this;
}
void AliFemtoModelGausLCMSFreezeOutGenerator::GenerateFreezeOut(AliFemtoPair *aPair)
{
AliFemtoTrack *inf1 = (AliFemtoTrack *) aPair->Track1()->Track();
AliFemtoTrack *inf2 = (AliFemtoTrack *) aPair->Track2()->Track();
if ((!inf1) || (!inf2)) { cout << "Hidden info not created! " << endl; exit(kFALSE); }
Double_t tPx = inf1->GetTrueMomentum()->x() + inf2->GetTrueMomentum()->x();
Double_t tPy = inf1->GetTrueMomentum()->y() + inf2->GetTrueMomentum()->y();
Double_t tPz = inf1->GetTrueMomentum()->z() + inf2->GetTrueMomentum()->z();
Double_t tM1 = inf1->GetMass();
Double_t tM2 = inf2->GetMass();
Double_t tE1 = sqrt(tM1*tM1 + inf1->GetTrueMomentum()->Mag2());
Double_t tE2 = sqrt(tM2*tM2 + inf2->GetTrueMomentum()->Mag2());
Double_t tEs = tE1 + tE2;
Double_t tPt = sqrt(tPx*tPx + tPy*tPy);
Double_t tRout = fRandom->Gaus(0.0, fSizeOut);
Double_t tRside = fRandom->Gaus(0.0, fSizeSide);
Double_t tRlong = fRandom->Gaus(0.0, fSizeLong);
Double_t tXout = (tPx * tRout + tPy * tRside)/tPt;
Double_t tXside = (tPy * tRout - tPx * tRside)/tPt;
Double_t tBetaz = tPz/tEs;
Double_t tGammaz = 1.0/TMath::Sqrt(1-tBetaz*tBetaz);
Double_t tXlong = tGammaz * (tRlong + tBetaz * 0);
Double_t tXtime = tGammaz * (0 + tBetaz * tRlong);
if (!(inf1->GetEmissionPoint())) {
AliFemtoLorentzVector *tPos = new AliFemtoLorentzVector(0,0,0,0);
inf1->SetEmissionPoint(tPos);
delete tPos;
}
else
inf1->SetEmissionPoint(0,0,0,0);
if (!(inf2->GetEmissionPoint())) {
AliFemtoLorentzVector *tPos = new AliFemtoLorentzVector(tXout,tXside,tXlong,tXtime);
inf2->SetEmissionPoint(tPos);
delete tPos;
}
else
inf2->SetEmissionPoint(tXout, tXside, tXlong, tXtime);
}
void AliFemtoModelGausLCMSFreezeOutGenerator::SetSizeOut(Double_t aSizeOut)
{
fSizeOut = aSizeOut;
}
void AliFemtoModelGausLCMSFreezeOutGenerator::SetSizeSide(Double_t aSizeSide)
{
fSizeSide = aSizeSide;
}
void AliFemtoModelGausLCMSFreezeOutGenerator::SetSizeLong(Double_t aSizeLong)
{
fSizeLong = aSizeLong;
}
Double_t AliFemtoModelGausLCMSFreezeOutGenerator::GetSizeOut() const
{
return fSizeOut;
}
Double_t AliFemtoModelGausLCMSFreezeOutGenerator::GetSizeSide() const
{
return fSizeSide;
}
Double_t AliFemtoModelGausLCMSFreezeOutGenerator::GetSizeLong() const
{
return fSizeLong;
}
AliFemtoModelFreezeOutGenerator* AliFemtoModelGausLCMSFreezeOutGenerator::Clone() const
{
return GetGenerator();
}
AliFemtoModelFreezeOutGenerator* AliFemtoModelGausLCMSFreezeOutGenerator::GetGenerator() const
{
AliFemtoModelFreezeOutGenerator* tModel = new AliFemtoModelGausLCMSFreezeOutGenerator(*this); return tModel;
}
AliFemtoModelGausLCMSFreezeOutGenerator.cxx:1 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:2 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:3 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:4 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:5 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:6 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:7 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:8 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:9 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:10 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:11 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:12 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:13 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:14 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:15 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:16 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:17 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:18 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:19 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:20 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:21 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:22 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:23 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:24 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:25 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:26 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:27 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:28 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:29 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:30 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:31 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:32 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:33 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:34 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:35 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:36 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:37 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:38 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:39 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:40 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:41 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:42 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:43 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:44 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:45 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:46 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:47 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:48 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:49 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:50 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:51 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:52 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:53 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:54 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:55 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:56 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:57 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:58 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:59 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:60 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:61 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:62 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:63 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:64 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:65 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:66 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:67 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:68 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:69 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:70 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:71 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:72 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:73 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:74 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:75 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:76 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:77 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:78 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:79 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:80 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:81 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:82 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:83 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:84 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:85 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:86 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:87 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:88 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:89 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:90 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:91 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:92 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:93 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:94 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:95 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:96 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:97 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:98 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:99 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:100 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:101 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:102 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:103 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:104 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:105 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:106 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:107 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:108 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:109 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:110 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:111 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:112 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:113 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:114 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:115 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:116 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:117 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:118 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:119 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:120 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:121 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:122 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:123 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:124 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:125 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:126 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:127 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:128 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:129 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:130 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:131 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:132 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:133 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:134 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:135 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:136 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:137 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:138 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:139 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:140 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:141 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:142 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:143 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:144 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:145 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:146 AliFemtoModelGausLCMSFreezeOutGenerator.cxx:147