aee8290b |
1 | #ifndef ALILEGO_H |
2 | #define ALILEGO_H |
3da30618 |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ |
5 | |
6 | /* $Id$ */ |
7 | |
fe4da5cc |
8 | /////////////////////////////////////////////////////////////////////////////// |
9 | // // |
10 | // // |
11 | // Utility class to compute and draw Radiation Length Map // |
12 | // // |
13 | // // |
14 | /////////////////////////////////////////////////////////////////////////////// |
15 | |
94de3818 |
16 | #include "TNamed.h" |
17 | class TH2F; |
b13db077 |
18 | class AliLegoGenerator; |
7eb618fa |
19 | class TClonesArray; |
b13db077 |
20 | |
fe4da5cc |
21 | class AliLego : public TNamed { |
22 | |
fe4da5cc |
23 | public: |
24 | AliLego(); |
b13db077 |
25 | AliLego(const char *title, Int_t ntheta,Float_t themin, |
26 | Float_t themax, Int_t nphi, Float_t phimin, |
27 | Float_t phimax,Float_t rmin,Float_t rmax,Float_t zmax); |
0b27b8c7 |
28 | AliLego(const char *title, AliLegoGenerator* generator); |
e2afb3b6 |
29 | AliLego(const AliLego &lego); |
fe4da5cc |
30 | virtual ~AliLego(); |
fe4da5cc |
31 | virtual void StepManager(); |
dffd31ef |
32 | virtual void BeginEvent(); |
33 | virtual void FinishEvent(); |
34 | virtual void FinishRun(); |
8918e700 |
35 | virtual AliLego &operator=(const AliLego &lego) |
36 | {lego.Copy(*this);return(*this);} |
e2afb3b6 |
37 | |
38 | private: |
6c4904c2 |
39 | void Copy(TObject &lego) const; |
a74d2699 |
40 | void DumpVolumes(); |
41 | |
8918e700 |
42 | private: |
0b27b8c7 |
43 | AliLegoGenerator *fGener; //Lego generator |
7eb618fa |
44 | Float_t fTotRadl; //!Total Radiation length |
45 | Float_t fTotAbso; //!Total absorption length |
46 | Float_t fTotGcm2; //!Total G/CM2 traversed |
0b27b8c7 |
47 | TH2F *fHistRadl; //Radiation length map |
48 | TH2F *fHistAbso; //Interaction length map |
49 | TH2F *fHistGcm2; //g/cm2 length map |
50 | TH2F *fHistReta; //Radiation length map as a function of eta |
7eb618fa |
51 | TClonesArray *fVolumesFwd; //!Volume sequence forward |
52 | TClonesArray *fVolumesBwd; //!Volume sequence backward |
53 | Int_t fStepBack; //!Flag for backstepping |
54 | Int_t fStepsBackward; //!Counts steps forward |
55 | Int_t fStepsForward; //!Counts steps backward |
56 | Int_t fErrorCondition; //!Error condition flag |
57 | Int_t fDebug; // Debug Flag |
2ce800a9 |
58 | Bool_t fStopped; //!Scoring has been stopped |
59 | |
fe4da5cc |
60 | ClassDef(AliLego,1) //Utility class to compute and draw Radiation Length Map |
61 | |
62 | }; |
63 | |
b13db077 |
64 | |
fe4da5cc |
65 | #endif |
7eb618fa |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |