]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSRcuDA1.h
fixing small memory leak
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRcuDA1.h
1 #ifndef AliPHOSRCUDA1_H
2 #define AliPHOSRCUDA1_H
3
4 #include "TNamed.h"
5 #include "TH1.h"
6 #include "TH2F.h"
7 #include "TFile.h"
8 #include "TObjArray.h"
9
10 class AliPHOSRcuDA1 : public TNamed {
11   
12  public:
13   
14   AliPHOSRcuDA1(Int_t module, Int_t rcu);
15   AliPHOSRcuDA1(Int_t module, Int_t rcu, TObjArray* oldTimeEnergy);
16   ~AliPHOSRcuDA1();
17   
18   void  FillHistograms(Float_t e[64][56][2], Float_t t[64][56][2]);
19   Int_t GetModule() { return fMod; }
20   Int_t GetRCU() { return fRCU; }
21   void  UpdateHistoFile();
22   void  SetWriteToFile(Bool_t write);
23
24   const TH2F* GetTimeEnergyHistogram(Int_t X, Int_t Z, Int_t gain) const 
25   { return fTimeEnergy[X][Z][gain]; }
26   const TH1F* GetHgLgRatioHistogram(Int_t X, Int_t Z) const
27   { return fHgLgRatio[X][Z]; }
28
29   const TObjArray* GetHistoContainer() const { return &fHistoArray; }
30
31  private:
32
33   AliPHOSRcuDA1(const AliPHOSRcuDA1& );
34   AliPHOSRcuDA1& operator= (const AliPHOSRcuDA1& );
35   
36  private:
37
38   TFile* fHistoFile;            // root file to store histograms in
39   TH1F* fHgLgRatio[64][56];     // high gain to low gain ratio  
40   TH2F* fTimeEnergy[64][56][2]; // time and energy
41   Int_t fMod;                   // PHOS module number (0..4)
42   Int_t fRCU;                   // RCU number (0..3)
43   Bool_t fWriteToFile;          // kTRUE to save histograms to ROOT file (default) 
44   TObjArray fHistoArray;        // container for histograms
45   
46   ClassDef(AliPHOSRcuDA1,1)
47
48 };
49
50 #endif