3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 ///////////////////////////////////////////////////////////////////////////////
11 // Utility class to compute and draw Radiation Length Map //
14 ///////////////////////////////////////////////////////////////////////////////
18 #include "AliGenerator.h"
20 class AliLegoGenerator;
22 class AliLego : public TNamed {
25 AliLegoGenerator *fGener; //Lego generator
26 Float_t fTotRadl; //Total Radiation length
27 Float_t fTotAbso; //Total absorption length
28 Float_t fTotGcm2; //Total G/CM2 traversed
29 TH2F *fHistRadl; //Radiation length map
30 TH2F *fHistAbso; //Interaction length map
31 TH2F *fHistGcm2; //g/cm2 length map
32 TH2F *fHistReta; //Radiation length map as a function of eta
36 AliLego(const char *title, Int_t ntheta,Float_t themin,
37 Float_t themax, Int_t nphi, Float_t phimin,
38 Float_t phimax,Float_t rmin,Float_t rmax,Float_t zmax);
40 virtual void StepManager();
41 virtual void BeginEvent();
42 virtual void FinishEvent();
43 virtual void FinishRun();
45 ClassDef(AliLego,1) //Utility class to compute and draw Radiation Length Map
49 class AliLegoGenerator : public AliGenerator
53 AliLegoGenerator(Int_t ntheta, Float_t themin, Float_t themax,
54 Int_t nphi, Float_t phimin, Float_t phimax,
55 Float_t rmin, Float_t rmax, Float_t zmax);
57 Float_t CurTheta() const {return fCurTheta;}
58 Int_t ThetaBin() const {return fThetaBin;}
59 Float_t CurPhi() const {return fCurPhi;}
60 Float_t ZMax() const {return fZMax;}
61 Float_t RadMax() const {return fRadMax;}
62 Int_t PhiBin() const {return fPhiBin;}
63 Int_t Nphi() const {return fNphi;}
64 Int_t Ntheta() const {return fNtheta;}
65 Float_t PropagateCylinder(Float_t *x, Float_t *v, Float_t r, Float_t z);
67 Float_t fRadMin; //Generation radius
68 Float_t fRadMax; //Maximum tracking radius
69 Float_t fZMax; //Maximum tracking Z
70 Int_t fNtheta; //Number of bins in Theta
71 Int_t fNphi; //Number of bins in Phi
72 Int_t fThetaBin; //Current theta bin
73 Int_t fPhiBin; //Current phi bin
74 Float_t fCurTheta; //Current theta of track
75 Float_t fCurPhi; //Current phi of track
77 ClassDef(AliLegoGenerator,1) //Lego generator