1 #ifndef ALIMUONTRACKERDATAHISTOGRAMMER_H
2 #define ALIMUONTRACKERDATAHISTOGRAMMER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONTrackerDataHistogrammer
11 /// \brief Make histograms from VTrackerData and VPainter objects.
13 // author Laurent Aphecetche, Subatech
19 class AliMUONVPainter;
20 class AliMUONVTrackerData;
21 class AliMUONSparseHisto;
24 class AliMUONTrackerDataHistogrammer : public TObject
27 AliMUONTrackerDataHistogrammer(const AliMUONVTrackerData& data,
29 Int_t internalDim=-1);
30 virtual ~AliMUONTrackerDataHistogrammer();
32 static TH1* CreateHisto(const AliMUONVPainter& painter,
36 TH1* CreateChannelHisto(Int_t detElemId, Int_t manuId,
37 Int_t manuChannel) const;
39 /// Whether we are working with internal dimensions or external ones.
40 Bool_t IsInternalMode() const { return fInternalDim >=0; }
44 TH1* CreateManuHisto(Int_t detElemId, Int_t manuId, Int_t nbins, Double_t xmin, Double_t xmax) const;
46 TH1* CreateHisto(const char* basename, Int_t nbins, Double_t xmin, Double_t xmax) const;
48 void GetDataRange(const TObjArray& manuList, Double_t& xmin, Double_t& xmax) const;
50 void Add(TH1& h, const AliMUONSparseHisto& sh) const;
52 void AddBusPatchHisto(TH1& h, Int_t busPatchId) const;
54 void AddDEHisto(TH1& h, Int_t detElemId) const;
56 void AddManuHisto(TH1& h, Int_t detElemId, Int_t manuId) const;
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
63 ClassDef(AliMUONTrackerDataHistogrammer,2) // Make histograms from VTrackerData