AliRoot Core  edcc906 (edcc906)
AliFMDPattern.h
Go to the documentation of this file.
1 #ifndef AliFMDPATTERN_H
2 #define AliFMDPATTERN_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
4  * reserved.
5  *
6  * See cxx source for full Copyright notice
7  */
13 //___________________________________________________________________
14 //
15 // The classes defined here, are utility classes for reading in data
16 // for the FMD. They are put in a seperate library to not polute the
17 // normal libraries. The classes are intended to be used as base
18 // classes for customized class that do some sort of analysis on the
19 // various types of data produced by the FMD.
20 //
21 #include "AliFMDDisplay.h"
22 #include <TArrayI.h>
23 #include <TObjArray.h>
24 // #include <TGraph.h>
25 #include <TLatex.h>
26 #include <TLine.h>
27 // class AliPhysicsSelection;
28 class TCanvas;
29 class TPad;
30 class TH2;
31 
32 
33 //___________________________________________________________________
39 {
40 public:
48  {
49  public:
51  AliFMDPatternDetector(UShort_t id);
55  void Clear();
57  Int_t Total() const { return Int_t(fCounts.GetSum()); }
59  void End();
65  void Begin(Int_t nlvl, Double_t r, TObjArray& inners,
66  TObjArray& outers);
69  void DrawShape(const TObjArray& a);
75  void AddMarker(Double_t x, Double_t y, Float_t s, Float_t max);
81  Int_t GetId() const { return fId; }
87  TArrayI& GetCounts() { return fCounts; }
93  const TArrayI& GetCounts() const { return fCounts; }
99  TObjArray& GetGraphs() { return fGraphs; }
105  const TObjArray& GetGraphs() const { return fGraphs; }
111  TH2*& GetFrame() { return fFrame; }
117  const TH2* GetFrame() const { return fFrame; }
118  private:
138  void CopyShapes(const TObjArray& input, TObjArray& own,
139  Double_t ang=0, Double_t fx=1, Double_t fy=1);
140  Int_t fId; // Identifier #
141  TArrayI fCounts; // Number of counts at each level
142  TObjArray fGraphs; // Array of graphs - one for each level
143  TH2* fFrame; // The mother frame
144  TObjArray fInners; // Our own cache of shapes
145  TObjArray fOuters; // Our own cache of shapes
146  };
147 
148 
151  AliFMDPattern(const char* gAliceFile="galice.root");
153  virtual ~AliFMDPattern();
154 
157  virtual Bool_t Init();
161  virtual Bool_t Begin(Int_t event);
162  protected:
169  virtual void AddMarker(Float_t x, Float_t y, Float_t z,
170  TObject* o, Float_t s, Float_t min, Float_t max)
171  {
172  AliFMDDisplay::AddMarker(x, y, z, o, s, min, max);
173  }
182  virtual void AddMarker(UShort_t det, Char_t rng, UShort_t sec,
183  UShort_t str, TObject* o, Float_t s,
184  Float_t min, Float_t max);
186  virtual Bool_t ProcessHit(AliFMDHit* hit, TParticle*);
188  virtual void Redisplay();
190  virtual void AtEnd();
191  TObjArray fInners; // Graph to show shape of inner sensor
192  TObjArray fOuters; // Graph to show shape of outer sensor
193  Float_t fInnerMax; // Max inner radius
194  Float_t fOuterMax; // Max outer radius
195  TPad* fFMD1Pad; // FMD1 Pad
197  TPad* fFMD2Pad; // FMD2 Pad
199  TPad* fFMD3Pad; // FMD3 Pad
201  TPad* fSummary; // Summary pad
202  TLatex fEvent; // Text fields
203  TLatex fFMD1Sum; // Total in FMD1
204  TLatex fFMD2Sum; // Total in FMD2
205  TLatex fFMD3Sum; // Total in FMD3
206  TLine fLine; // Just a line
207  TLatex fTotal; // Total in FMD
208 
209  Double_t fFMD1Area; // estimated FMD1 area
210  Double_t fFMD2Area; // estimated FMD2 area
211  Double_t fFMD3Area; // estimated FMD3 area
212 
213  // AliPhysicsSelection* fPhysicsSelection;
214 
215  ClassDef(AliFMDPattern,0) // Display FMD data as hit-patterns.
216 };
217 
218 
219 #endif
220 //____________________________________________________________________
221 //
222 // Local Variables:
223 // mode: C++
224 // End:
225 //
226 // EOF
227 //
AliFMDPatternDetector fFMD3
FMD Event display.
const TObjArray & GetGraphs() const
virtual Bool_t Init()
#define TObjArray
Double_t fFMD2Area
AliFMDPatternDetector fFMD1
Double_t fFMD3Area
virtual Bool_t ProcessHit(AliFMDHit *hit, TParticle *)
virtual void AddMarker(Float_t x, Float_t y, Float_t z, TObject *o, Float_t s, Float_t min, Float_t max)
AliFMDPatternDetector fFMD2
virtual void Redisplay()
TObjArray fInners
virtual void AtEnd()
Float_t fOuterMax
void Begin(Int_t nlvl, Double_t r, TObjArray &inners, TObjArray &outers)
AliFMDPattern(const char *gAliceFile="galice.root")
void DrawShape(const TObjArray &a)
Utility for the pattern display. The name is this long, because the code-checker even cares about nes...
Definition: AliFMDPattern.h:47
void CopyShapes(const TObjArray &input, TObjArray &own, Double_t ang=0, Double_t fx=1, Double_t fy=1)
Float_t fInnerMax
Utility class to visualize FMD data in geometry.
Definition: AliFMDDisplay.h:35
AliFMDhit is the hit class for the FMD. Hits are the information that comes from a Monte Carlo at eac...
Definition: AliFMDHit.h:30
virtual void AddMarker(Float_t x, Float_t y, Float_t z, TObject *o, Float_t s, Float_t min, Float_t max)
Utility class to visualize FMD data in 2D.
Definition: AliFMDPattern.h:38
virtual ~AliFMDPattern()
void AddMarker(Double_t x, Double_t y, Float_t s, Float_t max)
Double_t fFMD1Area
const TArrayI & GetCounts() const
Definition: AliFMDPattern.h:93
AliFMDPatternDetector & operator=(const AliFMDPatternDetector &)
TObjArray fOuters