#include "AliLegoGeneratorEta.h"
#include "AliRun.h"
#include "AliMC.h"
#include "AliLog.h"
ClassImp(AliLegoGeneratorEta)
void AliLegoGeneratorEta::Generate()
{
const Int_t kMpart = 0;
Float_t orig[3], pmom[3];
Float_t t, cost, sint, cosp, sinp;
if (fCoor1Bin==-1) fCoor1Bin=fNCoor1;
if(fCoor1Bin>=fNCoor1-1)
if(fCoor2Bin>=fNCoor2-1) {
AliWarning("End of Lego Generation");
return;
} else {
fCoor2Bin++;
AliDebug(1, Form("Generating rays in eta bin:%d",fCoor2Bin));
fCoor1Bin=0;
} else fCoor1Bin++;
fCurCoor1 = (fCoor1Min+(fCoor1Bin+0.5)*(fCoor1Max-fCoor1Min)/fNCoor1);
fCurCoor2 = (fCoor2Min+(fCoor2Bin+0.5)*(fCoor2Max-fCoor2Min)/fNCoor2);
Float_t phi = fCurCoor1*TMath::Pi()/180.;
Float_t theta = 2.*TMath::ATan(TMath::Exp(-fCurCoor2));
cost = TMath::Cos(theta);
sint = TMath::Sin(theta);
cosp = TMath::Cos(phi);
sinp = TMath::Sin(phi);
pmom[0] = cosp*sint;
pmom[1] = sinp*sint;
pmom[2] = cost;
orig[0] = orig[1] = orig[2] = 0;
Float_t dalicz = 3000;
if (fRadMin > 0) {
t = PropagateCylinder(orig,pmom,fRadMin,dalicz);
orig[0] = pmom[0]*t;
orig[1] = pmom[1]*t;
orig[2] = pmom[2]*t;
if (TMath::Abs(orig[2]) > fZMax) return;
}
Float_t polar[3]={0.,0.,0.};
Int_t ntr;
gAlice->GetMCApp()->PushTrack(1, -1, kMpart, pmom, orig, polar, 0, kPPrimary, ntr);
}
AliLegoGeneratorEta.cxx:1 AliLegoGeneratorEta.cxx:2 AliLegoGeneratorEta.cxx:3 AliLegoGeneratorEta.cxx:4 AliLegoGeneratorEta.cxx:5 AliLegoGeneratorEta.cxx:6 AliLegoGeneratorEta.cxx:7 AliLegoGeneratorEta.cxx:8 AliLegoGeneratorEta.cxx:9 AliLegoGeneratorEta.cxx:10 AliLegoGeneratorEta.cxx:11 AliLegoGeneratorEta.cxx:12 AliLegoGeneratorEta.cxx:13 AliLegoGeneratorEta.cxx:14 AliLegoGeneratorEta.cxx:15 AliLegoGeneratorEta.cxx:16 AliLegoGeneratorEta.cxx:17 AliLegoGeneratorEta.cxx:18 AliLegoGeneratorEta.cxx:19 AliLegoGeneratorEta.cxx:20 AliLegoGeneratorEta.cxx:21 AliLegoGeneratorEta.cxx:22 AliLegoGeneratorEta.cxx:23 AliLegoGeneratorEta.cxx:24 AliLegoGeneratorEta.cxx:25 AliLegoGeneratorEta.cxx:26 AliLegoGeneratorEta.cxx:27 AliLegoGeneratorEta.cxx:28 AliLegoGeneratorEta.cxx:29 AliLegoGeneratorEta.cxx:30 AliLegoGeneratorEta.cxx:31 AliLegoGeneratorEta.cxx:32 AliLegoGeneratorEta.cxx:33 AliLegoGeneratorEta.cxx:34 AliLegoGeneratorEta.cxx:35 AliLegoGeneratorEta.cxx:36 AliLegoGeneratorEta.cxx:37 AliLegoGeneratorEta.cxx:38 AliLegoGeneratorEta.cxx:39 AliLegoGeneratorEta.cxx:40 AliLegoGeneratorEta.cxx:41 AliLegoGeneratorEta.cxx:42 AliLegoGeneratorEta.cxx:43 AliLegoGeneratorEta.cxx:44 AliLegoGeneratorEta.cxx:45 AliLegoGeneratorEta.cxx:46 AliLegoGeneratorEta.cxx:47 AliLegoGeneratorEta.cxx:48 AliLegoGeneratorEta.cxx:49 AliLegoGeneratorEta.cxx:50 AliLegoGeneratorEta.cxx:51 AliLegoGeneratorEta.cxx:52 AliLegoGeneratorEta.cxx:53 AliLegoGeneratorEta.cxx:54 AliLegoGeneratorEta.cxx:55 AliLegoGeneratorEta.cxx:56 AliLegoGeneratorEta.cxx:57 AliLegoGeneratorEta.cxx:58 AliLegoGeneratorEta.cxx:59 AliLegoGeneratorEta.cxx:60 AliLegoGeneratorEta.cxx:61 AliLegoGeneratorEta.cxx:62 AliLegoGeneratorEta.cxx:63 AliLegoGeneratorEta.cxx:64 AliLegoGeneratorEta.cxx:65 AliLegoGeneratorEta.cxx:66 AliLegoGeneratorEta.cxx:67 AliLegoGeneratorEta.cxx:68 AliLegoGeneratorEta.cxx:69 AliLegoGeneratorEta.cxx:70 AliLegoGeneratorEta.cxx:71 AliLegoGeneratorEta.cxx:72 AliLegoGeneratorEta.cxx:73 AliLegoGeneratorEta.cxx:74 AliLegoGeneratorEta.cxx:75 AliLegoGeneratorEta.cxx:76 AliLegoGeneratorEta.cxx:77 AliLegoGeneratorEta.cxx:78 AliLegoGeneratorEta.cxx:79 AliLegoGeneratorEta.cxx:80 AliLegoGeneratorEta.cxx:81 AliLegoGeneratorEta.cxx:82 AliLegoGeneratorEta.cxx:83 AliLegoGeneratorEta.cxx:84 AliLegoGeneratorEta.cxx:85 AliLegoGeneratorEta.cxx:86 AliLegoGeneratorEta.cxx:87 AliLegoGeneratorEta.cxx:88