]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpGraphContext.h
First big commit of the mchview program and its accompanying library,
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpGraphContext.h
index 0fef553b5144e567d9a6521478374865d05a5137..7d34b20b113dc0991f3ec3b841cbda4bf33971cd 100755 (executable)
@@ -1,42 +1,78 @@
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
 // $Id$
-// Category: graphics
-//
-// Class AliMpGraphContext
-// -----------------------
-// Class describing the correspondance between a given area
-// in pad, and a zone of real (cm) position
-//
-// Author: David GUEZ, IPN Orsay
-
-#ifndef ALI_MP_GRAPH_CONTEXT
-#define ALI_MP_GRAPH_CONTEXT
+// $MpId: AliMpGraphContext.h,v 1.11 2006/05/24 13:58:13 ivana Exp $
+
+/// \ingroup mpgraphics
+/// \class AliMpGraphContext
+/// \brief Class describing the correspondance between a given area
+/// in pad, and a zone of real (cm) position
+///
+/// \author David GUEZ, IPN Orsay
+
+#ifndef ALI_MP_GRAPH_CONTEXT_H
+#define ALI_MP_GRAPH_CONTEXT_H
 
 #include <TObject.h>
+
+#include "AliMpContainers.h"
+
 #include <TVector2.h>
+#ifdef WITH_ROOT
+#include "AliMpExMap.h"
+#endif
 
-#include "AliMpGraphicsTypes.h"
+#ifdef WITH_STL
+#include <vector>
+#endif
 
 class MPainter;
 
-class AliMpGraphContext : public TObject{
+class AliMpGraphContext : public TObject
+{
+ public:
+#ifdef WITH_STL
+  /// GraphContextVector type
+  typedef std::vector<AliMpGraphContext*> GraphContextVector;
+#endif
+#ifdef WITH_ROOT
+  /// GraphContextVector type
+  typedef TObjArray GraphContextVector;
+#endif
+
  public:
   void Push() const;
   void Pop();
   static AliMpGraphContext *Instance();
 
+  //
   // set methods
-
+  //
+           /// Set position of the pad area where to draw
   void SetPadPosition(const TVector2 &position){fPadPosition=position;}
+           /// Set dimensions of the pad area where to draw
   void SetPadDimensions(const TVector2 &dimensions){fPadDimensions=dimensions;}
+           /// Set position of the real area where to draw
   void SetRealPosition(const TVector2 &position){fRealPosition=position;}
+           /// Set dimensions of the real area where to draw
   void SetRealDimensions(const TVector2 &dimensions){fRealDimensions=dimensions;}
+           /// Set color to use
   void SetColor(Int_t color){fColor=color;}
 
+  //
   // get methods
+  //
+
+           /// Return position of the pad area where to draw
   TVector2 GetPadPosition() const {return fPadPosition;}
+           /// Return dimensions of the pad area where to draw
   TVector2 GetPadDimensions() const {return fPadDimensions;}
+           /// Return position of the real area where to draw
   TVector2 GetRealPosition() const{return fRealPosition;}
+           /// Return dimensions of the real area where to draw
   TVector2 GetRealDimensions() const{return fRealDimensions;}
+           /// Return color to use
   Int_t GetColor() const {return fColor;}
 
   //methods
@@ -47,25 +83,32 @@ class AliMpGraphContext : public TObject{
                 TVector2 &padDimensions) const;
   void SetPadPosForReal(const TVector2 &position,const TVector2 &dimensions);
 
+ protected:
+  AliMpGraphContext(const AliMpGraphContext& right);
+  AliMpGraphContext&  operator = (const AliMpGraphContext& right);
+
  private:
   //private constructor (not instanciable from outside)
   AliMpGraphContext();
 
-  // static data members
-  static AliMpGraphContext *fgInstance;   // the global instance
-  static GraphContextVector fgStack;  // the object statck
+  ///< static data members
+  static AliMpGraphContext *fgInstance; ///< the global instance
+  static GraphContextVector fgStack;    ///< the object stack
+#ifdef WITH_ROOT
+  static Int_t fgStackSize;  ///< the object stack size
+#endif
 
   //data members
-  Int_t    fColor;          // color to use
-  TVector2 fPadPosition;    // Position of the pad area where to draw
-  TVector2 fPadDimensions;   // Dimensions of the pad area where to draw
+  Int_t    fColor;          ///< color to use
+  TVector2 fPadPosition;    ///< Position of the pad area where to draw
+  TVector2 fPadDimensions;  ///< Dimensions of the pad area where to draw
 
-  TVector2 fRealPosition;   // Position of the real area to draw
-  TVector2 fRealDimensions;  // Dimensions of the real area to draw
+  TVector2 fRealPosition;   ///< Position of the real area to draw
+  TVector2 fRealDimensions; ///< Dimensions of the real area to draw
 
   ClassDef(AliMpGraphContext,1) // Correspondance pad area/real world
 };
 
-#endif //ALI_MP_GRAPH_CONTEXT
+#endif //ALI_MP_GRAPH_CONTEXT_H