1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpGraphContext.h,v 1.11 2006/05/24 13:58:13 ivana Exp $
7 /// \ingroup mpgraphics
8 /// \class AliMpGraphContext
9 /// \brief Class describing the correspondance between a given area
10 /// in pad, and a zone of real (cm) position
12 /// \author David GUEZ, IPN Orsay
14 #ifndef ALI_MP_GRAPH_CONTEXT_H
15 #define ALI_MP_GRAPH_CONTEXT_H
19 #include "AliMpExMap.h"
25 class AliMpGraphContext : public TObject
30 static AliMpGraphContext *Instance();
35 /// Set position of the pad area where to draw
36 void SetPadPosition(const TVector2 &position){fPadPosition=position;}
37 /// Set dimensions of the pad area where to draw
38 void SetPadDimensions(const TVector2 &dimensions){fPadDimensions=dimensions;}
39 /// Set position of the real area where to draw
40 void SetRealPosition(const TVector2 &position){fRealPosition=position;}
41 /// Set dimensions of the real area where to draw
42 void SetRealDimensions(const TVector2 &dimensions){fRealDimensions=dimensions;}
44 void SetColor(Int_t color){fColor=color;}
50 /// Return position of the pad area where to draw
51 TVector2 GetPadPosition() const {return fPadPosition;}
52 /// Return dimensions of the pad area where to draw
53 TVector2 GetPadDimensions() const {return fPadDimensions;}
54 /// Return position of the real area where to draw
55 TVector2 GetRealPosition() const{return fRealPosition;}
56 /// Return dimensions of the real area where to draw
57 TVector2 GetRealDimensions() const{return fRealDimensions;}
58 /// Return color to use
59 Int_t GetColor() const {return fColor;}
62 TVector2 RealToPad(const TVector2 &position) const;
63 void RealToPad(const TVector2 &position
64 ,const TVector2 &dimensions,
65 TVector2 &padPosition,
66 TVector2 &padDimensions) const;
67 void SetPadPosForReal(const TVector2 &position,const TVector2 &dimensions);
70 AliMpGraphContext(const AliMpGraphContext& right);
71 AliMpGraphContext& operator = (const AliMpGraphContext& right);
74 //private constructor (not instanciable from outside)
77 ///< static data members
78 static AliMpGraphContext* fgInstance; ///< the global instance
79 static TObjArray fgStack; ///< the object stack
80 static Int_t fgStackSize;///< the object stack size
83 Int_t fColor; ///< color to use
84 TVector2 fPadPosition; ///< Position of the pad area where to draw
85 TVector2 fPadDimensions; ///< Dimensions of the pad area where to draw
87 TVector2 fRealPosition; ///< Position of the real area to draw
88 TVector2 fRealDimensions; ///< Dimensions of the real area to draw
90 ClassDef(AliMpGraphContext,1) // Correspondance pad area/real world
93 #endif //ALI_MP_GRAPH_CONTEXT_H