AliRoot Core  edcc906 (edcc906)
AliFMDFancy.h
Go to the documentation of this file.
1 #ifndef AliFMDFANCY_H
2 #define AliFMDFANCY_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 <TObjArray.h>
23 #include <TGraph2D.h>
24 #include <TLatex.h>
25 #include <TLine.h>
26 class TCanvas;
27 class TPad;
28 class TH1;
29 class TH2;
30 // class TH3;
31 
32 
33 //___________________________________________________________________
38 class AliFMDFancy : public AliFMDDisplay
39 {
40 public:
44  {
45  public:
47  AliFancyDetector(UShort_t id);
51  void Init();
53  void Begin(Int_t event=0);
55  void Clear(Int_t event=0);
57  void End();
59  void AddMarker(Char_t rng, UShort_t sec, UShort_t str,
60  Float_t v, Float_t max);
61 
67  TH1*& GetFrame() { return fFrame; }
73  void SetFrame(TH1* p) { fFrame = p; }
79  Int_t GetId() const { return fId; }
85  void SetId(Int_t p) { fId = p; }
91  TObjArray& GetShapes() { return fShapes; }
97  Int_t& GetNInnerHits() { return fNInnerHits; }
103  TGraph2D& GetInnerHits() { return fInnerHits; }
109  Int_t& GetNOuterHits() { return fNOuterHits; }
115  TGraph2D& GetOuterHits() { return fOuterHits; }
121  Double_t GetMaxR() const { return fMaxR; }
127  void SetMaxR(Double_t p) { fMaxR = p; }
133  Double_t GetMinZ() const { return fMinZ; }
139  void SetMinZ(Double_t p) { fMinZ = p; }
145  Double_t GetMaxZ() const { return fMaxZ; }
151  void SetMaxZ(Double_t p) { fMaxZ = p; }
152  protected:
154  TH1* fFrame; // Mother frame
156  Int_t fId; // Identifier
158  TObjArray fShapes; // Array of shapes
160  Int_t fNInnerHits; // Number of inner hits
162  TGraph2D fInnerHits; // Graph of inner hits
164  Int_t fNOuterHits; // Number of outer hits
166  TGraph2D fOuterHits; // Graph of outer hits
168  Double_t fMaxR; // Maximum radius
170  Double_t fMinZ; // Minimum Z
172  Double_t fMaxZ; // Maximum Z
173  private:
180  void AddHistogram(TGraph2D& g, const char* toopt="");
184  AliFancyDetector& operator=(const AliFancyDetector& ) { return *this; }
185  };
186 
189  AliFMDFancy(const char* gAliceFile="galice.root");
191  virtual ~AliFMDFancy();
192 
195  virtual Bool_t Init();
199  virtual Bool_t Begin(Int_t event);
202  virtual Bool_t End();
203 protected:
205  AliFMDFancy(const AliFMDFancy& );
207  AliFMDFancy& operator=(const AliFMDFancy& ) { return *this; }
208  virtual void AddMarker(Float_t x, Float_t y, Float_t z,
209  TObject* o, Float_t s, Float_t min, Float_t max)
210  {
211  AliFMDDisplay::AddMarker(x, y, z, o, s, min, max);
212  }
221  virtual void AddMarker(UShort_t det, Char_t rng, UShort_t sec,
222  UShort_t str, TObject* o, Float_t s,
223  Float_t min, Float_t max);
226  virtual Bool_t ProcessHit(AliFMDHit* hit, TParticle*);
227 
229  TPad* fFMD1Pad; // FMD1 Pad
231  AliFancyDetector fFMD1; // FMD1 Frame
233  TPad* fFMD2Pad; // FMD2 Pad
235  AliFancyDetector fFMD2; // FMD2 Frame
237  TPad* fFMD3Pad; // FMD3 Pad
239  AliFancyDetector fFMD3; // FMD3 Frame
241  TPad* fSummary; // Summary pad
243  TLatex fEvent; // Text fields
245  TLatex fFMD1IHits; // Number of hits in FMD1i
247  TLatex fFMD2IHits; // Number of hits in FMD2i
249  TLatex fFMD2OHits; // Number of hits in FMD2o
251  TLatex fFMD3IHits; // Number of hits in FMD3i
253  TLatex fFMD3OHits; // Number of hits in FMD3o
255  TLine fLine; // Just a line
257  TLatex fTotal; // Number of hits in FMD
258 
259  ClassDef(AliFMDFancy,0)
260 };
261 
262 
263 #endif
264 //____________________________________________________________________
265 //
266 // Local Variables:
267 // mode: C++
268 // End:
269 //
270 // EOF
271 //
FMD Event display.
AliFancyDetector fFMD3
Definition: AliFMDFancy.h:239
TLatex fEvent
Definition: AliFMDFancy.h:243
#define TObjArray
Float_t p[]
Definition: kNNTest.C:133
void Clear(Int_t event=0)
Utility class to visualize FMD data in 2D.
Definition: AliFMDFancy.h:38
virtual void AddMarker(Float_t x, Float_t y, Float_t z, TObject *o, Float_t s, Float_t min, Float_t max)
void Begin(Int_t event=0)
TLatex fTotal
Definition: AliFMDFancy.h:257
TLatex fFMD1IHits
Definition: AliFMDFancy.h:245
Double_t GetMaxZ() const
Definition: AliFMDFancy.h:145
TLatex fFMD3OHits
Definition: AliFMDFancy.h:253
Double_t GetMinZ() const
Definition: AliFMDFancy.h:133
TPad * fSummary
Definition: AliFMDFancy.h:241
TLatex fFMD3IHits
Definition: AliFMDFancy.h:251
AliFancyDetector & operator=(const AliFancyDetector &)
Definition: AliFMDFancy.h:184
TLatex fFMD2OHits
Definition: AliFMDFancy.h:249
void AddMarker(Char_t rng, UShort_t sec, UShort_t str, Float_t v, Float_t max)
AliFMDFancy & operator=(const AliFMDFancy &)
Definition: AliFMDFancy.h:207
TPad * fFMD3Pad
Definition: AliFMDFancy.h:237
TPad * fFMD2Pad
Definition: AliFMDFancy.h:233
void AddHistogram(TGraph2D &g, const char *toopt="")
virtual ~AliFMDFancy()
AliFMDFancy(const char *gAliceFile="galice.root")
Definition: AliFMDFancy.cxx:63
Double_t GetMaxR() const
Definition: AliFMDFancy.h:121
Utility class to visualize FMD data in geometry.
Definition: AliFMDDisplay.h:35
TPad * fFMD1Pad
Definition: AliFMDFancy.h:229
AliFMDhit is the hit class for the FMD. Hits are the information that comes from a Monte Carlo at eac...
Definition: AliFMDHit.h:30
AliFancyDetector fFMD2
Definition: AliFMDFancy.h:235
virtual Bool_t ProcessHit(AliFMDHit *hit, TParticle *)
AliFancyDetector fFMD1
Definition: AliFMDFancy.h:231
TLatex fFMD2IHits
Definition: AliFMDFancy.h:247
virtual void AddMarker(Float_t x, Float_t y, Float_t z, TObject *o, Float_t s, Float_t min, Float_t max)
Definition: AliFMDFancy.h:208