Fixing a memory leak.
[u/mrichter/AliRoot.git] / STEER / AliLego.h
1 #ifndef ALILEGO_H
2 #define ALILEGO_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ///////////////////////////////////////////////////////////////////////////////
9 //                                                                           //
10 //                                                                           //
11 //    Utility class to compute and draw Radiation Length Map                 //
12 //                                                                           //
13 //                                                                           //
14 ///////////////////////////////////////////////////////////////////////////////
15
16 #include "TNamed.h"
17 class TH2F;
18 class AliLegoGenerator;
19 class TClonesArray;
20
21 class AliLego : public TNamed  {
22
23 public:
24   AliLego();
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);
28   AliLego(const char *title, AliLegoGenerator* generator);
29   AliLego(const AliLego &lego);
30   virtual ~AliLego();
31   virtual void  StepManager();
32   virtual void  BeginEvent();
33   virtual void  FinishEvent();
34   virtual void  FinishRun();
35   virtual AliLego &operator=(const AliLego &lego) 
36   {lego.Copy(*this);return(*this);}
37
38 private:
39   void Copy(TObject &lego) const;
40   void DumpVolumes();
41   
42 private:
43    AliLegoGenerator *fGener;     //Lego generator
44    Float_t    fTotRadl;          //!Total Radiation length
45    Float_t    fTotAbso;          //!Total absorption length
46    Float_t    fTotGcm2;          //!Total G/CM2 traversed
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
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
58   ClassDef(AliLego,1) //Utility class to compute and draw Radiation Length Map
59
60 };
61
62
63 #endif
64
65
66
67
68
69
70
71
72
73
74