]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIMUONTRACKERDATAHISTOGRAMMER_H | |
2 | #define ALIMUONTRACKERDATAHISTOGRAMMER_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | // $Id$ | |
8 | ||
9 | /// \ingroup graphics | |
10 | /// \class AliMUONTrackerDataHistogrammer | |
11 | /// \brief Make histograms from VTrackerData and VPainter objects. | |
12 | /// | |
13 | // author Laurent Aphecetche, Subatech | |
14 | ||
15 | #ifndef ROOT_TObject | |
16 | # include "TObject.h" | |
17 | #endif | |
18 | ||
19 | class AliMUONVPainter; | |
20 | class AliMUONVTrackerData; | |
21 | class AliMUONSparseHisto; | |
22 | class TH1; | |
23 | ||
24 | class AliMUONTrackerDataHistogrammer : public TObject | |
25 | { | |
26 | public: | |
27 | AliMUONTrackerDataHistogrammer(const AliMUONVTrackerData& data, | |
28 | Int_t externalDim, | |
29 | Int_t internalDim=-1); | |
30 | virtual ~AliMUONTrackerDataHistogrammer(); | |
31 | ||
32 | static TH1* CreateHisto(const AliMUONVPainter& painter, | |
33 | Int_t externalDim, | |
34 | Int_t internalDim); | |
35 | ||
36 | TH1* CreateChannelHisto(Int_t detElemId, Int_t manuId, | |
37 | Int_t manuChannel) const; | |
38 | ||
39 | /// Whether we are working with internal dimensions or external ones. | |
40 | Bool_t IsInternalMode() const { return fInternalDim >=0; } | |
41 | ||
42 | private: | |
43 | ||
44 | TH1* CreateManuHisto(Int_t detElemId, Int_t manuId, Int_t nbins, Double_t xmin, Double_t xmax) const; | |
45 | ||
46 | TH1* CreateHisto(const char* basename, Int_t nbins, Double_t xmin, Double_t xmax) const; | |
47 | ||
48 | void GetDataRange(const TObjArray& manuList, Double_t& xmin, Double_t& xmax) const; | |
49 | ||
50 | void Add(TH1& h, const AliMUONSparseHisto& sh) const; | |
51 | ||
52 | void AddBusPatchHisto(TH1& h, Int_t busPatchId) const; | |
53 | ||
54 | void AddDEHisto(TH1& h, Int_t detElemId) const; | |
55 | ||
56 | void AddManuHisto(TH1& h, Int_t detElemId, Int_t manuId) const; | |
57 | ||
58 | private: | |
59 | const AliMUONVTrackerData& fkData; ///< data we'll histogram | |
60 | Int_t fExternalDim; ///< (external) dimension we'll histogram | |
61 | Int_t fInternalDim; ///< (internal) dimension we'll make histogram for | |
62 | ||
63 | ClassDef(AliMUONTrackerDataHistogrammer,2) // Make histograms from VTrackerData | |
64 | }; | |
65 | ||
66 | #endif |